JavaScript 事件 事件绑定 事件解除

Posted lemon-vinegar

tags:

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

 <div></div>

//事件绑定的方法

div.onclick = function (){} //function里的this指向DIV
-----------------------------------------------
//obj.addEventListener(type,fn,false) IE9以下不兼容,可以为一个事件绑定多个处理程序 function里的this指向div
div.addEventListener(‘click‘,function (){},false);
div.addEventListener(‘click‘,test,false);

function test(){
//....
}
---------------------------------------------------
//obj.attachEvent(on+‘type‘,fn) IE独有,一个事件可以绑定多个处理函数 this指向window

div.attachEvent(‘onclick‘,function(){
handle.call(div);
})

function haddle(){
this//......

}
//解决this指向的问题
------------------------------------------------
//事件绑定函数封装

 1 function addEvent(elem,type,handle){
 2         if(elem.addEventListener){
 3             elem.addEventListener(type,handle,false);
 4         }else if(elem.attachEvent){
 5             elem.attachEvent(‘on‘+type,function (){
 6                 handle.call(elem);
 7             })
 8         }else{
 9             elem[‘on‘+type] = handle;
10         }
11         
12     }
13     
14 addEvent(div,click,fn);

//解除事件绑定
elem.onclick = null;
elem.removeEventListener(type,fn,false);
elem.dettachEvent(‘on‘+type,fn);





























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

javascript-事件绑定

浅谈jquery之on()绑定事件和off()解除绑定事件

JavaScript 学习-40.jQuery 绑定事件 on 和 bind

事件绑定与解除js

js解除事件绑定的问题,参数怎么填解除事件绑定需要函数名但是如果给出函数名 this又发生了变化

有没有办法只解除非命名空间事件的绑定?