2011-11-03 83 views
4

如果有多個事件處理程序會響應一個事件,並且事件處理程序的回調函數是在不同的地方定義的,那麼我怎樣才能知道哪個處理程序會先觸發,例如,當檢查on/off a radio時,radio綁定了多個處理程序,那麼如何判斷哪一個會先執行?如何確定在JavaScript或jQuery中觸發事件處理程序的順序?

+0

可能重複的[Javascript事件處理程序順序](http://stackoverflow.com/questions/5143817/javascript-event-handler-order) –

+0

請參閱此處的答案:http://stackoverflow.com/questions/2706109 /是,事件處理程序,在JavaScript的所謂-有序 –

回答

1

Javascript event handler order

如果你使用jQuery來綁定你的事件,它保證了處理程序 以相同的順序,他們被束縛解僱。否則訂單是 官方未定義。

如果您不能使用JQuery或類似的框架,你可以很容易地 使用自己的自定義甚至綁定,你的 通用處理器是保持的功能的陣列和 按照順序調用它們的函數模擬此。

0

文檔 -
綁定到該事件類型元素的所有處理程序被解僱。如果有多個處理程序註冊,它們將始終按照它們綁定的順序執行。在所有處理程序執行完畢後,事件將沿着正常事件傳播路徑繼續。

相關問題