attachEvent、addEventListener、detachEvent、removeEventListener

事件处理
本文对比了attachEvent与addEventListener在不同浏览器下的应用及执行顺序差异,并通过示例展示了如何在现代Web开发中选择合适的事件绑定方法。

attachEventaddEventListenerdetachEventremoveEventListener

 

1、  attachEventaddEventListener:添加事件对象

detachEventremoveEventListener:注销事件对象

2、  attachEventaddEventListener

A、 适应的浏览器版本不同,attachEventIEaddEventListenerff

B、 attachEvent方法用onclickaddEventListener方法用click

C、 执行的优先级不一样

3、  详细

object.attachEvent(event,function);

element.addEventListener(type,listener,useCapture);

 

如果这样写,那么将会只有medhot3被执行:

document.getElementById("btn").onclick = method1;

document.getElementById("btn").onclick = method2;

document.getElementById("btn").onclick = method3;

 

ie下,写成这样:

var btn1Obj = document.getElementById("btn1");

btn1Obj.attachEvent("onclick",method1);

btn1Obj.attachEvent("onclick",method2);

btn1Obj.attachEvent("onclick",method3)

执行顺序为method3->method2->method1

 

Ff下,写成这样:

var btn1Obj = document.getElementById("btn1");

btn1Obj.addEventListener("click",method1,false);

btn1Obj.addEventListener("click",method2,false);

btn1Obj.addEventListener("click",method3,false);

执行顺序为method1->method2->method3

 

4、  实例

A、 var el = EDITFORM_DOCUMENT.body;

//先取得对象,EDITFORM_DOCUMENT实为一个iframe

if(el.addEventListener){

            el.addEventListener('click', KindDisableMenu, false);

}else if(el.attachEvent){

            el.attachEvent('onclick', KindDisableMenu);

}

B、 if(window.addEventListener){

window.addEventListener('load', _uCO, false);

}else if(window.attachEvent){

window.attachEvent('onload', _uCO);

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值