//参考 https://mp.csdn.net/postedit/90524536 JavaScript 事件绑定 封装一个兼容性事件绑定方法 应需求有时候事件绑定触发后就要接触事件。
解除事件绑定方法:
1、onclick解除 element.onclick = false/''/null eg: <div></div> var div = document.getElementByTagName("div")[0]; div.onclick = function () { console.log("a"); div.onclick = null; }
2、解除addEventListener(type,function(){},false),使用remove解除 解除addEventListener(type,function(){},false)必须事件类型、函数、false一一对应
//错误的解除方式
var div = document.getElementByTagName("div"); div.addEventListener('click',function(){ console.log("a"); },false) div.removeEventListener(type,(function(){console.log("a");}),false)
//这种情况是解除不了的
//正确的解除方式
function test(){ console.log("a"); } div.addEventListener('click',test,false); div.removeEventListener('click',test,false);
3、解除attachEvent('on'+ type,function(){}),用 detachEvent('on'+type,function(){})解除, function test(){} obj.attachEvent('on'+ type,test); obj.detachEvent('on'+type,test)