Jquery自定义事件触发器

时间:2015-04-15 10:43:45

标签: jquery events triggers

我在理解自定义事件触发器时遇到一些麻烦。我有一些代码来触发所有元素的自定义事件(根据文档)

$.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')没有在所有可能正在侦听的元素上调用所述事件?

提前致谢

2 个答案:

答案 0 :(得分:0)

看来文档是错误的,现代jQuery中没有触发所有元素。在这一点上,我已经实现了一个发布/订阅模式,并将使用它,直到我找到更好的解决方案。

答案 1 :(得分:0)

这将有效:

$d.trigger('modal:close');