原生js事件绑定和事件移除
分类:Javascript| 发布:camnprbubuol| 查看:975 | 发表时间:2013/7/3
用惯了框架,什么jQuery/Ext/zepto/underscore/backbone 绑定事件on,bind,addListener,如果没有这些框架,原生的js怎么写?你能立刻写出来吗? 绑定事件的好处:
- 一个对象可以绑定多个不同事件
- 一个对象可以绑定多个相同事件(按照绑定的顺序执行。注意IE下顺序相反)
测试地址
js代码如下:
07 | function addEvents(target, type, func) { |
08 | if (target.addEventListener) |
09 | target.addEventListener(type, func, false ); |
10 | else if (target.attachEvent) |
11 | target.attachEvent( "on" + type, func); |
12 | else target[ "on" + type] = func; |
21 | function removeEvents(target, type, func){ |
22 | if (target.removeEventListener) |
23 | target.removeEventListener(type, func, false ); |
24 | else if (target.detachEvent) |
25 | target.detachEvent( "on" + type, func); |
26 | else target[ "on" + type] = null ; |