原生js事件绑定和事件移除

分类:Javascript| 发布:camnprbubuol| 查看:975 | 发表时间:2013/7/3

用惯了框架,什么jQuery/Ext/zepto/underscore/backbone 绑定事件on,bind,addListener,如果没有这些框架,原生的js怎么写?你能立刻写出来吗? 绑定事件的好处:

  • 一个对象可以绑定多个不同事件
  • 一个对象可以绑定多个相同事件(按照绑定的顺序执行。注意IE下顺序相反)

测试地址

js代码如下:

01/**
02 * @description 事件绑定,兼容各浏览器
03 * @param target 事件触发对象 
04 * @param type   事件
05 * @param func   事件处理函数
06 */
07function addEvents(target, type, func) {
08    if (target.addEventListener)    //非ie 和ie9
09        target.addEventListener(type, func, false);
10    else if (target.attachEvent)   //ie6到ie8
11        target.attachEvent("on" + type, func);
12    else target["on" + type] = func;   //ie5
13};
14 
15/**
16 * @description 事件移除,兼容各浏览器
17 * @param target 事件触发对象
18 * @param type   事件
19 * @param func   事件处理函数
20 */
21function 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;
27};
365据说看到好文章不转的人,服务器容易宕机
原创文章如转载,请注明:转载自郑州网建-前端开发 http://camnpr.com/
本文链接:http://camnpr.com/javascript/native-js-event-bindings-and-removed.html