事件流javascript
事件處理程序 java
事件對象瀏覽器
在觸發 DOM 上的某個事件時,會產生一個事件對象 event app
//在須要經過一個函數處理多個事件時,可使用 type 屬性。 var btn = document.getElementById("myBtn"); var handler = function(event){ switch(event.type){ case "click": alert("Clicked"); break; case "mouseover": event.target.style.backgroundColor = "red"; break; case "mouseout": event.target.style.backgroundColor = ""; break; } }; btn.onclick = handler; btn.onmouseover = handler; btn.onmouseout = handler;
事件類型ide
UI事件函數
EventUtil.addHandler(window, "load", function(){ var image = document.createElement("img"); EventUtil.addHandler(image, "load", function(event){ event = EventUtil.getEvent(event); alert(EventUtil.getTarget(event).src); }); document.body.appendChild(image); image.src = "smile.gif"; }); /新圖像元素只要設置了 src 屬性就會開始下載。
焦點事件性能
鼠標與滾輪事件spa
鍵盤與文本事件3d
變更事件code
DOMSubtreeModified :在 DOM 結構中發生任何變化時觸發。這個事件在其餘任何事件觸發後都會觸發。
DOMNodeInserted :在一個節點做爲子節點被插入到另外一個節點中時觸發。
DOMNodeRemoved :在節點從其父節點中被移除時觸發。
DOMNodeInsertedIntoDocument :在一個節點被直接插入文檔或經過子樹間接插入文檔以後觸發。
這個事件在 DOMNodeInserted 以後觸發。
DOMNodeRemovedFromDocument :在一個節點被直接從文檔中移除或經過子樹間接從文檔中移除以前觸發。
這個事件在 DOMNodeRemoved 以後觸發。
DOMAttrModified :在特性被修改以後觸發。
DOMCharacterDataModified :在文本節點的值發生變化時觸發。
HTML5事件
EventUtil.addHandler(window, "hashchange", function(event){ alert("Old URL: " + event.oldURL + "\nNew URL: " + event.newURL); }); EventUtil.addHandler(window, "hashchange", function(event){ alert("Current hash: " + location.hash); });
設備事件
觸摸與手勢事件
內存和性能
事件委託
事件委託利用了事件冒泡,只指定一個事 件處理程序,就能夠管理某一類型的全部事件。
移除事件處理程序
空事件處理程序
解決
模擬事件
模擬鼠標事件
模擬鍵盤事件
模擬其餘事件
自定義 DOM事件