解除事件处理程序:
1.ele.onclick = false或null;
2.ele.removeEventListener(type,fn,false);
3.ele,detachEvent(“on” + type,fn);
注:若绑定匿名函数,则无法解除。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>abraham</title>
</head>
<body>
<div style="width:100px;height:100px;background-color:red;"></div>
<script type="text/javascript">
var div = document.getElementsByTagName("div")[0];
div.onclick = function(){
console.log("a");
this.onclick = null;
}
</script>
</body>
</html>
点一次生效,点击第二次就不生效了。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>abraham</title>
</head>
<body>
<div style="width:100px;height:100px;background-color:red;"></div>
<script type="text/javascript">
var div = document.getElementsByTagName("div")[0];
div.addEventListener("click",test,false);
function test(){
console.log("123");
}
div.removeEventListener("click",test,false);
</script>
</body>
</html>