一.删除(解绑)事件的方式
例题:点击div弹出一个对话框,只能弹一次,下次再点就不弹出
1.传统注册方式
div.οnclick=null;
代码示例:
var divs=document.querySelectorAll('div');
divs[0].onclick=function(){
alert('11');
divs[0].onclick=null;
}
2.方法监听注册方式
①div.removeEventListener(type,listener[,useCapture]);
代码示例:
var divs=document.querySelectorAll('div');
divs[1].addEventListener('click',fn)
function fn(){
alert('22');
divs[1].removeEventListener('click',fn); //移除fn
}
②div.detachEvent(eventNameWithOn,callback);
代码示例:
var divs=document.querySelectorAll('div');
divs[2].attachEvent('onclick',fn1);
function fn1(){
alert('33');
divs[2].detachEvent('onclick',fn1); //移除fn1
}
<body>
<div>1</div>
<div>2</div>
<div>3</div>
</body>