javascript事件绑定(移除)/ javascript事件如何传参?

 

 1 function addEvent (obj, type, fn, opts) {
 2         //obj 添加事件的对象
 3         //type 要添加的事件类型如:'click'、‘mouseover’等
 4         //fn 要添加的事件,function
 5         //opts要传入的参数
 6         obj['evt' + type + fn] = obj['evt' + type + fn] || null;
 7         if (!obj['evt' + type + fn]) {
 8             obj['evt' + type + fn] = function (event) {
 9                 var event = event || window.event;
10                 event.datas = opts || {};
11                 fn.call(obj, event);
12             };
13         }
14 
15         if (obj.addEventListener) {//W3C
16             obj.addEventListener(type, obj['evt' + type + fn], false);
17         } else if (obj.attachEvent) {
18             obj.attachEvent('on' + type, obj['evt' + type + fn]);
19         }
20     }
21 
22     function removeEvent(obj, type, fn) {//删除事件
23         if (typeof obj.removeEventListener != 'undefined') {
24             obj.removeEventListener(type, obj['evt' + type + fn], false);
25         } else if (typeof obj.detachEvent != 'undefined') {
26             if(fn && obj['evt' + type + fn]) {
27                 obj.detachEvent("on" + type,obj['evt' + type + fn]);
28             }else{
29                 obj['on'+type] = null
30             }
31         }
32     }

 

posted on 2014-07-09 16:27  BiG前端  阅读(755)  评论(0)    收藏  举报

导航