通用事件监听器

		var EventUtil = {
			//dom0 ||dom2 ||IE绑定事件
			addHandler:
			function(ele, handler, type){
				if(ele.addEventListener){
					ele.addEventListener(type, handler, false);
				}else if(ele.attachEvent){
					ele.attachEvent(type, handler);
				}else{
					ele["on"+type]=handler;
					//想一下 input.onclick = function(){}
				}
			}

			removeHandler:
			function(ele, type, handler){
				if (ele.removeEventListener) {
					ele.removeEventListener(type, handler, false);
				}else if (ele.detachEvent) {
					ele.detachEvent(type, handler);
				}else{
					ele["on"+type]=null;
				}
			}
			//获取事件对象
			getEvent:
			function(event){
				return event? event: window.event;
			}

			//获取事件目标
			getTarget:
			function(target){
				return event.target || event.srcEvent;
			}
			//上一步 写 return event || window.event;  可以吗?
			
			//阻止默认行为
			preventDefault:
			function(event){
				if (event.preventDefault) {
					event.preventDefault();
				}else{
					event.returnValue = false;
				}
				
			}

			//取消dom 或 IE中的 事件冒泡
			stopPropagation:
			function(event){
				if(event.stopPropagation){
					event.stopPropagation();
				}else{
					event.cancelBubble = true;
				}
			}
			//stopPropation() 忘记加()
			//cancelBubble = true;
		}

		//因为 传入的是 "type",所以 写的时候不用加双引号
		//只有 addEventListener 和 removeEventListener 有第三个参数 false或者true
		// 
		// 注意:绑定事件、移出事件 的参数,获取事件、阻止默认行为的 参数 是event,获取 事件目标的 参数是 target,
		

		IE:
		attachEvent
		detachEvent
		window.event
		returnVaule = false
		cancelBubble = true
		event.srcElement

		event.target(火狐)

https://blog.csdn.net/github_34514750/article/details/53084034

注意:

addEventListener   和 removeEventListener (type, handler, false) 第三个 参数 都是false

摘抄:

可以选择是在捕获阶段还是冒泡阶段绑定事件处理函数,这是通过addEventListener()方法实现的,如果这个函数的最后一个参数是true,则在捕获阶段绑定函数,反之false,在冒泡阶段绑定函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值