簡體   English   中英

添加兩個相同的事件處理程序是否有默認行為?

[英]Is there a default behavior for adding two of the same event handlers?

事故發生后,我做了一些我認為可能出錯的事情。

我在同一個元素/事件中添加了兩個事件處理程序。

什么是默認行為,或者有一個?

也就是說,如果您向同一元素添加兩個單擊事件。 他們都會被解雇,並以什么順序被解雇。

如果通過addEventListener或attachEvent綁定事件,它們都會被觸發。 例如,訂單由綁定順序決定(代碼在jquery中寫入):

 $('#id').bind('click',function(){
  alert(1);
 }).bind('click',function(){
  alert(2)
 });

單擊元素時,您將首先看到警報'1',然后是'2';

這是規范說的:

雖然EventTarget上的所有EventListener都保證由EventTarget接收的任何事件觸發,但是沒有規定它們將接收與EventTarget上的其他EventListener相關的事件的順序。

http://www.w3.org/TR/DOM-Level-2-Events/events.html

所以他們都會被解雇,但訂單不能保證

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM