多语言展示
当前在线:1237今日阅读:84今日分享:32

js解除绑定事件的方法

对于事件的绑定的方法有多种多样,但是在解除绑定事件的时候,就要注意使用的是那种绑定事件的方法,因为不同的绑定方法所对应的解除事件是不同的。
工具/原料
1

Hbuild

2

html+css+javascript

方法/步骤
1

1.原始写法绑定事件:对象.事件=事件处理函数

2

解除事件: 对象.事件=null (此方法就是函数的覆盖)

3

2. 使用 attachEvent 、detachEvent、addEventListener 与 removeEventListener事件绑定------attachEvent ,addEventListener

4

使用 attachEvent 和 addEventListenter 的好处就是,可以多次的进行事件的绑定,不向原始的方法那样,前面绑定的事件将会被后面的绑定的事件所覆盖,最后只能执行后面所绑定的函数。

5

运行结果:2,1     说明:attachEVent 是先绑定后执行,它将先执行我后绑定的函数。     注意:1)attachEvent 只能兼容 IE7,IE8;             2)attachEvent 绑定的事件前面要加“on”

6

运行结果:1,2     说明:1) addEventListener 是先绑定先执行,它将按顺序执行我绑定的事件。              2) addEventListener 的第三个参数:                  布尔值参数是true,表示在捕获阶段调用事件处理程序;如果是false,表示在冒泡阶段调用事件处理程序     注意:1)addEventListener 与 attachEVent 正好相反, 只不兼容 IE7,IE8,其他大部分的浏览器都可以执行。             2)addEventListener 绑定的事件前面不要加“on”

8

detachEvent

9

removeEventListener

注意事项
1

1) 在removeEventListener 传入的参数与 addEventListener 传入的参数要一致,看似使用了相同的参数,但实际上,第二个参数与传入addEventListener()中的与第一个是完全不同的函数。

2

2) 因为移除时传入的参数与添加处理程序时使用的参数相同。这也意味着通过addEventListener()添加的匿名函数无法移除。

3

3)在公用函数体存在参数的情况下,不能将带参数的函数体传给 addEventListener 和 romoveEventListener。

4

4)detachEvent 与 removeEventListener 注意事项相同。

推荐信息