html DOM元素有很多on開頭的監聽事件,如onload、onclick等,見DOM事件列表。但是同一種事件,后面注冊的會覆蓋前面的:
window.onresize = function(){ alert(1);}window.onresize = function(){ alert(2);}// 改變窗口大小時,只會彈出2
addEventListener監聽
利用addEventListener添加監聽事件,可以重復添加,并不會互相覆蓋:
window.addEventListener("resize",function(){ alert(1)})window.addEventListener("resize",function(){ alert(2)})// 改變窗口大小時,先后彈出1和2
注意這里面的事件是不帶"on"前綴的。
removeEventListener移除監聽
removeEventListener跟addEventListener相對應,用于移除事件監聽。
如果要移除事件句柄,addEventListener()
的執行函數必須使用外部具名函數,匿名函數事件是無法移除的。
// 匿名函數事件無法移除window.addEventListener("resize",function(){ alert(1)})// 監聽具名函數事件function myResize(){ alert(2)}window.addEventListener("resize",myResize)// 移除事件監聽window.removeEventListener("resize",myResize)
總結
以上所述是小編給大家介紹的JS監聽事件的疊加和移除,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!
新聞熱點
疑難解答