js元素事件绑定与解绑

Posted 夏日凉白开

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js元素事件绑定与解绑相关的知识,希望对你有一定的参考价值。

为元素绑定事件有3种方式:

1、最常见的绑定方式:

document.getElementById("btn").onclick=function(){};

2、非IE浏览器     element.addEventListener(type,fn,false)

(布尔值====true表示捕获,false表示冒泡,一般用false):

document.getElementById("btn").addEventListener("click",function(){};false);

3、IE浏览器下的事件绑定        element.attachEvent("on"+type,fn)

document.getElementById("btn").attachEvent("onclick",function(){});

 

==================为元素(element)绑定事件的兼容代码:=======================

 

 1     function addEventListener(element,type,fn){
 2                 if(element.addEventListener){
 3                     element.addEventListener(type,fn,false);
 4                 }else if(element.attachEvent){
 5                     element.attachEvent("on"+type,fn);
 6                 }else{
 7                     element["on"+type]=fn;
 8                 }
 9                 
10             }

 

为元素解除绑定有3种方式:

1、普通方式:

document.getElementById("btn").onclick=null;

2、非IE浏览器  element.removeEventListener(type,fName,false)

(布尔值====true表示捕获,false表示冒泡,一般用false):

document.getElementById("btn").removeEventListener("click",fName,false); 

3、IE浏览器    element.detachEvent("on"+type,fName)

document.getElementById("btn").detachEvent("onclick",fName);

 

==================为元素(element)解绑事件的兼容代码:=======================

 1     function removeEventListener(element,type,fName){
 2                 if(element.removeEventListener){
 3                     element.removeEventListener(type,fName,false);
 4                 }else if(element.detachEvent){
 5                     element.detachEvent("on"+type,fName);
 6                 }else{
 7                     element["on"+type]=null;
 8                 }
 9             } 

 

以上是关于js元素事件绑定与解绑的主要内容,如果未能解决你的问题,请参考以下文章

js click 与 onclick 事件绑定与解绑

事件绑定与解绑

JQuery_003_事件绑定与解绑

jquery 事件- 绑定与解绑

javascript 事件绑定与解绑

jquery中的DOM事件绑定与解绑