addEventListener是DOM元素的api,能夠對指定的dom元素進行事件監聽的綁定。可用的事件類型非常多,列如click,keydown,keyup。如果是特殊的事件類型,就得看該dom元素是否能夠支持,比如select的change事件,input的input事件。等等。
而且addEventListener能夠很方便的控制事件是否冒泡,只需要加入第三個參數為false,能夠阻止冒泡,為true則能在捕獲階段觸發。
如果你的事件綁定沒有成功,那么由一下幾種可能:
1、元素獲取問題 ---------綁定的元素由於css選擇錯誤或其他原因導致,導致元素不是自己想綁定的。
2、 元素獲取時,獲取到的是一個集合,比如使用document.getTagNames()方法,或document.querySelectorAll()方法
另外如果想移除元素事件監聽,就需要留心。我們需要像下面這樣做:
// 綁定p元素點擊事件 document.querySelector('p').addEventListener('click',callback,false); function callback () { alert('我被點了') } // 解除事件監聽 document.querySelector('p').removeEventListener('click',callback,false); // 同樣的需要用命名函數,進行解除,
或者用onclick更為直接的操作:
// 綁定事件 p.onclick = function() { alert('我被點了') } // 解除綁定 p.onclick = null;