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     }

 

你可能感兴趣的:(JavaScript)