我想在一个对象上触发一个不可冒泡的自定义 jQuery 事件。我知道我们可以使用 return false 或 stopPropagation 来防止冒泡。我想知道的是我可以触发自定义事件并指定默认情况下它不会冒泡。
这是我现在拥有的代码
$(".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 做了类似的事情,但只针对第一个匹配元素。
有没有更好的方法来实现这一目标?