Jquery 自定义事件触发器

标签 jquery events triggers

我在理解自定义事件触发器时遇到一些困难。我有一些代码可以在所有元素上触发自定义事件(根据文档)

$.event.trigger('modal:close',[$d]);

$d 是一个 jquery 对象

如果我像这样绑定(bind)到文档:

$(document).on('modal:close',function(event,element) {
    console.log('Triggered');
});

然后我的处理程序被称为将“已触发”记录到控制台。但是,如果我将它绑定(bind)到特定元素,如下所示:

$("#foo").on('modal:close',function(event,element) {
    console.log('Triggered');
});

那么触发器就永远不会被捕获,并且不会记录任何内容。

我是否从文档中遗漏了一些内容,因为 $.event.trigger('foo') 不会在所有可能正在监听或不监听的元素上调用所述事件?

提前致谢

最佳答案

看来文档是错误的,并且在现代 jQuery 中无法触发所有元素。至此,我已经实现了发布/订阅模式,并将继续使用它,直到找到更好的解决方案。

关于Jquery 自定义事件触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29648118/

相关文章:

javascript - 如何根据 highcharts 中的值获得动态颜色变化

iphone - iPhone NSTimer失效有问题

php - 更新后的Mysql触发器插入到另一个有条件的表中

php - 单个产品页面中的 WooCommerce added_to_cart 委托(delegate)事件

javascript - JQuery-Mobile滚动条

jquery - 使用Giggle JS在Firefox中无法进行音频/视频通话

java - Eclipse E4 RCP - 创建部件后获取 IEventBroker 对象

events - Laravel 事件处理程序和监听器

javascript - 暂时让它在鼠标按下时在鼠标移动时没有选择任何东西

插入后mysql触发发送数据到另一个mysql主机