js 事件綁定


事件綁定的方式

1.  DOM  元素行內綁定
<div onclick="alert(1)"></div>
 
2. js on+eventType
document.onclick =function(){alert(2)}

 

3. addEventListener
document.getElementById("myBtn").addEventListener("click", myFunction);
function myFunction() {
    document.getElementById("demo").innerHTML = "Hello World";
}

 

4.addEvent
addEvent( document.getElementById('foo'), 'click', doSomething );

 

5. attachEvent
document.attachEvent('click',function(){alert(5)});

特點區別

DOM  元素行內綁定  js on+eventType attachEvent addEventListener addEvent
事件處理程序與html結構混雜在一起

由於該方法的事件函數是全局的,很容易命名沖突
該方法限制了綁定事件處理的函數的次數
document.onclick =function(){alert(2)}
 
document.onclick =function(){alert(3)}
 
3會覆蓋2
綁定多個不會被覆蓋
可以綁定多個事件但不會被覆蓋
 
回調函數內的this指向target本身
element.addEventListener( eventfunctionuseCapture)
 
和addEventListener的卻別 回調函數this指向window

 

例子

document. onclick =function(){alert(1)}
 
document. onclick =function(){alert(2)}
 
document. onclick =function(){alert(3)}
document. attachEvent('click',function(){alert(1)})
 
document. attachEvent('click',function(){alert(2)})
 
document. attachEvent('click',function(){alert(3)})
document. addEventListener('click',function(){alert(1)},false)
 
document. addEventListener('click',function(){alert(2)},false)
 
document. addEventListener('click',function(){alert(3)},false)
3 3   2   1 1    2    3

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM