更新時(shí)間:2024-04-09 14:10:01作者:admin3
在之前的一篇經(jīng)驗(yàn)中介紹了使用attchEvent和detachEvent添加、注銷事件;
火狐和其他瀏覽器都不支持,幸運(yùn)的是他們都支持W3C標(biāo)準(zhǔn)的:
addEventListener和removeEventListener方法
形如:element.addEventListener(type,listener,useCapture);//添加事件
element.removeEventListener(type,listener,useCapture);//注銷事件
這里需要和attchEvent相區(qū)別,event直接寫事件名即可,如click事件->object.addEventListener(click,listener,useCapture);
例:
JS:
window.onload = function(){
var btn1 = document.getElementById(btn1);
btn1.addEventListener(click,test1,false);
var btn2 = document.getElementById(btn2);
btn2.addEventListener(click,function(){
btn1.removeEventListener(click,test1,false);
},false);
}
function test1(){
alert(111);
}
--------------------------------------------
html:
測試addEventListener
測試removeEventListener
-------------------------------------------------------------------------------
再將上面的例子改一下:
JS:
window.onload = function(){
var btn1 = document.getElementById(btn1);
btn1.addEventListener(click,test1,false);
btn1.addEventListener(click,test2,false);
btn1.addEventListener(click,test3,false);
var btn2 = document.getElementById(btn2);
btn2.addEventListener(click,function(){
btn1.removeEventListener(click,test1,false);
},false);
}
function test1(){
alert(111);
}
function test2(){
alert(222);
}
function test3(){
alert(333);
}
HTML:
測試addEventListener
測試removeEventListener
現(xiàn)象:頁面打開之后,點(diǎn)擊【測試addEventListener】,依次彈出111,222,333
說明,使用addEventListener添加事件后按照綁定順序執(zhí)行
再點(diǎn)擊【測試removeEventListener】,則會(huì)發(fā)現(xiàn)不再彈“111”,即test1事件被注銷
2024-04-09 09:21
2024-04-08 21:13