JavaScript中的事件處理
1.在標簽上使用onXXX屬性來進行事件綁定
2.通過代碼獲取標簽綁定onXXX屬性
3.通過代碼獲取標簽然后使用addEventListener()綁定事件 使用removeEventListener()反綁定事件 這里有瀏覽器兼容性問題 對于低版本IE要使用 attachEvent() / detachEvent()
事件回調(diào)函數(shù)和事件對象
1.綁定事件監(jiān)聽器的函數(shù)都需要傳入事件的回調(diào)函數(shù)
2.程序員知道事件發(fā)生的時候需要做什么樣的處理但是不知道事件什么時候發(fā)生
3.所以傳入一個函數(shù)在將來發(fā)生事件的時候由系統(tǒng)進行調(diào)用 這種函數(shù)就稱為回調(diào)函數(shù)
4.回調(diào)函數(shù)的第一個參數(shù)代表事件對象(封裝了和事件相關(guān)的所有信息)對于低版本IE可以通過window.event來獲取事件對象
事件對象的屬性和方法:
- target / srcElement - 事件源(引發(fā)事件的標簽)
- preventDefault() / returnValue=false - 阻止事件的默認行為
- 處理事件有兩種順序:事件冒泡(默認,從內(nèi)向外)/ 事件捕獲(從外向內(nèi))
- 如果要阻止事件的傳播行為(例如阻止事件冒泡)可以使用 stopPropagation() / cancelBubble=true