JS---DOM---为元素绑定事件和解绑事件的兼容代码
1. 绑定事件的兼容
function addEventListener(element,type,fn) { if(element.addEventListener){ element.addEventListener(type,fn,false); }else if(element.attachEvent){ element.attachEvent("on"+type,fn); }else{ element["on"+type]=fn; } }
2. 解绑事件的兼容
function removeEventListener(element,type,fnName) { if(element.removeEventListener){ element.removeEventListener(type,fnName,false); }else if(element.detachEvent){ element.detachEvent("on"+type,fnName); }else{ element["on"+type]=null; }
测试解绑时间的兼容:
//解绑事件的兼容 //为任意的一个元素,解绑对应的事件 function removeEventListener(element, type, fnName) { if (element.removeEventListener) { element.removeEventListener(type, fnName, false); } else if (element.detachEvent) { element.detachEvent("on" + type, fnName); } else { element["on" + type] = null; } } function f1() { console.log("测试兼容第一个"); } function f2() { console.log("测试兼容第二个"); } addEventListener(my$("btn1"), "click", f1); addEventListener(my$("btn1"), "click", f2); my$("btn2").onclick = function () { removeEventListener(my$("btn1"), "click", f1); };
你好,我是Jane,如果万幸对您有用,请帮忙点下推荐,谢谢啦~另外,咱们闪存见哦~