既然能够注册事件处理函数,当然也能够删除注册的事件处理函数。

关于注册事件函数这里就不多介绍了,具体可以参阅javascript如何注册事件处理函数一章节。 

一.删除使用句柄方式注册的事件处理函数:

使用句柄方式删除事件处理函数方式非常的简单,如下:
   [ 其他 ] 运行代码    下载代码
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="https://www.51qianduan.com/" />
<title>51前端</title>
<script type="text/javascript">
window.onload=function(){
  var obt=document.getElementById("bt");
  var oshow=document.getElementById("count");
  var odelete=document.getElementById("delete");
  var count=0;
  obt.onclick=function(){
    count=count+1;
    oshow.innerHTML=count;
  }
  odelete.onclick=function(){
    obt.onclick=null;
  }
}
</script>
</head>
<body>
<div id="count"></div>
<input type="button" id="bt" value="查看效果"/>
<input type="button" id="delete" value="删除事件处理函数"/>
</body>
</html>
以上代码使用obt.onclick=null就可以删除注册的事件处理函数。

二.删除使用addEventListener()和attachEvent()注册的事件处理函数:

addEventListener()函数和attachEvent()函数可以为指定元素注册事件处理函数,第一个是符合w3c标准的,IE8以上和谷歌火狐等浏览器等标准浏览器支持,第二个是IE浏览器使用,用来兼容IE8和IE8以下浏览器。

代码实例如下:
   [ 其他 ] 运行代码    下载代码
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="https://www.51qianduan.com/" />
<title>51前端</title>
<script type="text/javascript">
var EventUtil={ 
  //注册 
  addHandler:function(element, type, handler){ 
    if(element.addEventListener){ 
      element.addEventListener(type, handler, false); 
    } 
    else if (element.attachEvent){ 
      element.attachEvent("on" + type, handler); 
    } 
    else{ 
      element["on" + type] = handler; 
    } 
  }, 
  //移除注册 
  removeHandler:function(element, type, handler){ 
    if(element.removeEventListener){ 
      element.removeEventListener(type, handler, false); 
    } 
    else if(element.detachEvent){ 
      element.detachEvent("on" + type, handler); 
    } 
    else{ 
      element["on" + type] = null; 
    } 
  }              
};
window.onload=function(){
  var obt=document.getElementById("bt");
  var oshow=document.getElementById("count");
  var odelete=document.getElementById("delete");
  var count=0;
    
  function done(){
    count=count+1;
    oshow.innerHTML=count;
  }
    
  EventUtil.addHandler(obt,"click",done);
  odelete.onclick=function(){
    EventUtil.removeHandler(obt,"click",done);
  }
}
</script>
</head>
<body>
<div id="count"></div>
<input type="button" id="bt" value="查看效果"/>
<input type="button" id="delete" value="删除事件处理函数"/>
</body>
</html>

代码描述:js删除注册事件 处理函数,js删除注册事件处理函数源码下载



3 4



用户评论
大牛,别默默的看了,快登录帮我点评一下吧!:)      登录 | 注册


热门标签: js js代码 js实例 javascript javascript代码 javascript实例 js事件 javascript事件 js函数方法 js函数 js方法 javascript函数方法 javascript函数 javascript方法

×
×

注册

官方QQ群

扫描上面二维码加微信群

官方QQ群

jQuery/js讨论群
群号:642649996
Css3+Html5讨论群
群号:322131262

加群请备注:从官网了解到