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指向的問題
------------------------------------------------
//事件綁定函數封裝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);
spa

相關文章
相關標籤/搜索