IE: attachEvent(事件名, 函数)、detachEvent(事件名, 函数);
FF: addEventListener(事件名, 函数, 是否捕获)、removeEventListerner(事件名, 函数, 是否捕获)
1 function bindHandler(obj, sEvent, fnHandler) // 对象、事件、函数 2 { 3 if (obj.attachEvent) 4 { 5 obj.attachEvent( ' on ' + sEvent, fnHandler); 6 } 7 else 8 { 9 obj.addEventListener(sEvent, fnHandler, false ); 10 } 11 }
事件解绑时,addEventListener()和removeEventListener()中必须是同一个函数参数,必须是单独定义一个函数,匿名函数是不行的!
1 function removeHandler(obj, sEvent, fnHandler) // 对象、事件、函数 2 { 3 if (obj.attachEvent) 4 { 5 obj.detachEvent('on'+ sEvent, fnHandler); 6 } 7 else 8 { 9 obj.removeEventListener(sEvent, fnHandler, false ); 10 } 11 }