如何使用addEventListener添加事件

 我来答
阿国以0D
2017-07-30 · TA获得超过1369个赞
知道小有建树答主
回答量:937
采纳率:79%
帮助的人:430万
展开全部
在之前的一篇经验中介绍了使用attchEvent和detachEvent添加、注销事件;

火狐和其他浏览器都不支持,幸运的是他们都支持W3C标准的:

addEventListener和removeEventListener方法

形如:element.addEventListener(type,listener,useCapture);//添加事件

element.removeEventListener(type,listener,useCapture);//注销事件

这里需要和attchEvent相区别,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:

<button id="btn1">测试addEventListener</button>

<button id="btn2">测试removeEventListener</button>

-------------------------------------------------------------------------------

再将上面的例子改一下:

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:

<button id="btn1">测试addEventListener</button>

<button id="btn2">测试removeEventListener</button>

现象:页面打开之后,点击【测试addEventListener】,依次弹出"111","222","333"

说明,使用addEventListener添加事件后按照绑定顺序执行

再点击【测试removeEventListener】,则会发现不再弹“111”,即test1事件被注销
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式