js添加事件和移除事件

2019-02-14  本文已影响0人  Kevin丶CK

一.addEventListener()和removeEventListener()

addEventListener()与removeEventListener()用于处理指定和删除事件处理程序操作。
接受3个参数:
type:事件名;
callback:事件处理函数;
capture:事件处理程序调用时机(个人说法,后面详细说明)。
形式为:
addEventListener("事件名" , "事件处理函数" , "布尔值");
注:事件名不含"on",。现在的版本可以省略第三个参数,默认值为false

二.示例


事件处理函数最好别用匿名函数,还有不能带参数。如上图,应为通过addEventListener()添加的事件处理程序只能使用removeEventListener()来移除;移除时传入的参数与添加处理程序时使用的参数相同。这也意味着通过addEventListener()添加的匿名函数无法移除。
总结:
1:相同事件绑定和解除,需要使用共用函数;绑定和解除事件时,事件没有"on" 即onclick写成click
2:共用函数不能带参数;
三.addEventListener()与removeEventListener()的第三个参数详解
布尔值参数是true,表示在捕获阶段调用事件处理程序;就是最不具体的节点先接收事件,最具体的节点最后接收事件.
如果是false,在冒泡阶段调用事件处理程序;则是先寻找指定的位置,由最具体的元素接收,然后逐级向上传播至最不具体的元素的节点(文档)。

由图可知捕获过程要先于冒泡过程 ,即 true的触发顺序在false前面。
因为最近项目使用到,就写个简单的介绍,实例就不写了,可以参考这篇文章
上一篇 下一篇

猜你喜欢

热点阅读