DOM事件侦听--适应各浏览器


兼容各种浏览器的事件侦听方法(出自:慕课网  http://www.imooc.com/video/2138/0  DOM事件探秘):


需求:做事件侦听,兼容各种版本浏览器

coding:

<span style="white-space:pre">		</span>var eventUtil = {
			//添加句柄
			addHandler:function(element,type,handler){
				if(element.addEventListener){//支持DOM2级的事件处理
					element.addEventListener(type,handler,false)
				}else if (element.attachEvent) {//IE的事件侦听
					element.attachEvent("on"+type,handler);
				}else{//更加底版本浏览器,采用Dom0级的事件侦听
					element["on"+type] = handler;
				};
			},
			//删除句柄
			removeHandler:function(element,type,handler){
				if(element.removeEventListener){//支持DOM2级的事件处理
					element.removeEventListener(type,handler,false)
				}else if (element.detachEvent) {//IE的事件侦听
					element.detachEvent("on"+type,handler);
				}else{//更加底版本浏览器,采用Dom0级的事件侦听
					element["on"+type] = null;
				};
			}
		}
		//使用方法
		var divD = document.getElementById("Div");
		eventUtil.addHandler(divD,"click",showHello);
		//eventUtil.removeHandler(divD,"click",showHello);
		function showHello(){
			alert("Hello!");
		}

原理:不同浏览器对DOM事件的侦听方式不同,分为HTML形式(以上没涉及到),DOM0级,DOM2级;

        注意:IE浏览器不支持DOM2级事件侦听,且事件书写时要 "on"+ ,默认为冒泡方式捕获;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值