gpt4 book ai didi

javascript - 事件监听器回调不会通过普通函数调用触发

转载 作者:行者123 更新时间:2023-11-28 02:06:50 25 4
gpt4 key购买 nike

我确信对此有一个合理的解释,但我无法弄清楚 - 非常感谢一些指导。

我使用 Backbone 有以下代码:

var ExampleCollection = Backbone.Collection.extend({
exampleEvent: function() {console.log('event fired')}
});

var ExampleView = Backbone.View.extend({
el:'body',
onExampleEvent: function() {console.log('listener heard it')},
initialize: function() {
this.listenTo(this.collection,'exampleEvent',this.onExampleEvent);
}
});

var testCollection = new ExampleCollection;
var testView = new ExampleView({collection:testCollection});

在控制台中,当我输入命令 testCollection.trigger('exampleEvent') 时,onExampleEvent 回调函数会触发。但是,当我输入命令 testCollection.exampleEvent() 时,exampleEvent 函数会触发,但 onExampleEvent 回调函数不会。

如果有人能向我解释为什么会发生这种情况,我将不胜感激,因为我已经寻找了一段时间但无法弄清楚。

提前非常感谢。

最佳答案

想想看 - 当你打电话时

 testCollection.exampleEvent()

你只要执行它,然后......什么也没有。当

 testCollection.trigger('exampleEvent')

被调用,它执行函数和每个监听器。

关于javascript - 事件监听器回调不会通过普通函数调用触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17652761/

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