我在理解自定义事件触发器时遇到一些麻烦。我有一些代码来触发所有元素的自定义事件(根据文档)
$.event.trigger('modal:close',[$d]);
$d
是一个jquery对象
如果我绑定到这样的文档:
$(document).on('modal:close',function(event,element) {
console.log('Triggered');
});
然后我的处理程序被称为记录“Triggered”到控制台。但是,如果我将它绑定到特定元素,如:
$("#foo").on('modal:close',function(event,element) {
console.log('Triggered');
});
然后永远不会捕获触发器,也不记录任何内容。
我是否遗漏了文档中的内容,因为$ .event.trigger('foo')没有在所有可能正在侦听的元素上调用所述事件?
提前致谢
答案 0 :(得分:0)
看来文档是错误的,现代jQuery中没有触发所有元素。在这一点上,我已经实现了一个发布/订阅模式,并将使用它,直到我找到更好的解决方案。
答案 1 :(得分:0)
这将有效:
$d.trigger('modal:close');