如果我將多個事件處理程序附加到單個DOM元素上的單個事件,那麼事件處理程序是否保證按照它們添加的順序被調用?還是我不應該依賴這種行爲?JavaScript中的事件處理程序是按順序調用的嗎?
27
A
回答
22
This has been changed with DOM3!雖然DOM level 2 events specification確曾
當事件到達目標,在
EventTarget
註冊了任何事件偵聽器被觸發。雖然在EventTarget
所有EventListeners
都保證由 由EventTarget
接收到的任何事件觸發,不規範作出到 爲了,他們將與問候收到該事件的其他EventListeners
在EventTarget
。
目前DOM level 3 events specification現在所做的陳述
實現必須確定當前目標的candidate event listeners。 這必須是當前目標在註冊順序上已註冊 的所有事件偵聽器的列表。
HTML5
定義了聽衆的排序registered through event handler attributes。 [...]最後,執行必須處理所有候選event handlers 爲了 [...]
但是,我無法找到這種行爲在DOM 4 draft參考了。
相關問題
- 1. 我可以依靠按註冊順序調用的事件處理程序嗎?
- 2. 如何處理順序調用事件處理程序?
- 3. Qt:事件是否按順序處理?
- 4. 事件處理程序事件處理程序不調用上單擊按鈕
- 5. Buggy javascript按鈕事件處理程序
- 6. JavaScript事件處理程序的執行順序
- 7. JavaScript事件處理程序的執行順序
- 8. 我可以從javascript調用LoginStatus.LoggingOut事件處理程序嗎?
- 9. JavaScript事件處理程序
- 10. Javascript事件處理程序
- 11. JavaScript事件處理程序
- 12. JavaScript「類」中的事件處理程序
- 13. 關於(內聯)javascript事件處理程序執行jquery事件處理程序的順序
- 14. 調用jQuery的事件處理程序
- 15. 如何用Javascript中的參數調用事件處理程序?
- 16. javascript中事件處理程序的異步或同步調用
- 17. 是否有可能在事件處理程序啓動時追蹤事件處理程序的順序?
- 18. Angular:自定義事件處理程序和默認處理程序的順序
- 19. 如何在JavaScript中編程調用mouseover事件處理程序
- 20. 重構JavaScript事件處理程序 - 這是一個合理的事情嗎?
- 21. MapController調用在事件處理程序中不起作用嗎?
- 22. Javascript - 按順序處理按鍵?
- 23. 的JavaScript沒有被調用的內聯事件處理程序
- 24. JavaScript事件處理程序的參數
- 25. 的JavaScript處理程序移除事件,
- 26. JavaScript的事件處理程序在ASP.NET
- 27. 帶iframe的JavaScript事件處理程序
- 28. 馬提尼處理程序的調用順序是什麼?
- 29. Netty處理程序調用的順序是什麼?
- 30. 如何確定在JavaScript或jQuery中觸發事件處理程序的順序?
假設這是來自HTML5,這意味着目前的瀏覽器已經這樣做,你覺得呢? – thomasrutter 2016-05-24 22:38:35
@thomasrutter:是的,非常多 - 他們只是標準化他們實施的內容。 – Bergi 2016-05-24 22:57:08