2013-03-21 25 views
1

當前的dom事件模型將事件從葉節點(事件的來源)傳播到頂層根(文檔)。是否可以觸發DOM事件並使其在DOM樹中停止?

我的問題是這樣的:有沒有辦法觸發一個事件倒退?從身體上,讓它落到葉子上?

我想在我的表單中禁用所有表單輸入。他們都是jQuery UI部件。我不保留主要表單組件中的元素的引用,並且在提交時我想禁用所有這些元素。我所有的小部件綁定到一個自定義dom事件,稱爲「field:disable」。

+1

你爲什麼要改爲捕捉鼓泡的事件的事件,[jQuery的不支持拍攝](http://stackoverflow.com/questions/6354079/event-capturing-with-jquery) – 2013-03-21 13:38:35

+0

爲什麼不能'$(「input」)。disable()'? – 2013-03-21 13:39:39

+0

你爲什麼不做'$('#form input')。triggerHandler('field:disable')' – 2013-03-21 13:40:00

回答

0

jQuery的does not support event capturing,所以我覺得你被卡住事件冒泡。

你爲什麼不這樣做

$('#form input').trigger('field:disable') 

,如果你不想傳播

$('#form input').triggerHandler('field:disable') 
+0

我在想,與jQuery選擇器相比,捕獲觸發器的成本更低。哦,謝謝澄清。 – 2013-03-22 10:10:08

0

事件只能從葉子向根發泡,而不是相反。

您應該確定一個共同的類,所有的部件都然後手動觸發事件:

$('.ui-widget').trigger('field:disable'); 
相關問題