8
我想在對象上觸發無冒泡的自定義jQuery事件。我知道我們可以使用return false或stopPropagation來防止冒泡。我想知道的是我可以觸發一個自定義事件,並指定默認情況下它不會冒泡。觸發不冒泡的自定義jQuery事件
這是我現在的代碼
$(".abc").on("change", function() {
var e = new $.Event("datachange");
$(this).trigger(e)
});
上述觸發上#abc dataChange事件和泡沫的情況下一路上揚。我不想那樣。我可以通過使用以下來實現這一點。
$(".abc").on("change", function() {
var e = new $.Event("datachange");
//e.stopPropagation(); this does not work
$(this).trigger(e)
}).on("datachange", function (e) {
e.stopPropagation();
return false;
});
我讀了那個triggerHandler做了類似的事情,但只是爲了第一個匹配的元素。
有沒有更好的方法來實現這一目標?
在你的事件處理函數中'e.stopPropagation()'有什麼不好? – crush
@crush它可能沒有事件處理程序,事件最終會冒泡並被不適合該對象的處理程序困住。 – Arun