gpt4 book ai didi

javascript - jQuery 对象上的事件处理程序

转载 作者:行者123 更新时间:2023-11-29 19:18:43 25 4
gpt4 key购买 nike

我正在尝试将自定义事件绑定(bind)到 jQuery 对象,但它们不会触发。

例子:

environment = new function(){
this.events = $();
};

environment.events.on('preloader_done', function(){
console.log('environment event handler');
});

environment.events.trigger('preloader_done');

$(document).on('preloader_done', function(){
console.log('document event handler');
});

$(document).trigger('preloader_done');

在上面的示例中,只有绑定(bind)到文档的事件会触发。参见 jsfiddle: https://jsfiddle.net/ymhp5c8k/

我找不到任何信息来告诉我为什么这行不通。

我知道我可以创建一个 JavaScript 对象,然后像这样通过 jQuery 绑定(bind)事件:

environment = new function(){
this.jsobject = {};
};

$(environment.jsobject).on('preloader_done', function(){
console.log('jsobject event handler');
});

$(environment.jsobject).trigger('preloader_done');

但我想知道是否有人可以解释我如何将它设置为 jQuery 对象然后直接调用它而不必每次都将其包装在 jQuery 中。

最佳答案

您只需要在构造函数中创建一个 jQuery 对象

environment = new function(){
this.events = $({}); // Here
};

environment.events.on('preloader_done', function(){
console.log('environment event handler');
});

environment.events.trigger('preloader_done');

这应该可以解决问题。

关于javascript - jQuery 对象上的事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34061816/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com