如何在页面加载后触发并绑定事件?
我遇到的问题是,在一个地方,在页面加载时我会触发一个事件:
//producer.js
pageLoaded(){
var e = jQuery.Event("eventA");
$("body").trigger(e);
...}
在另一个我绑定它:
//consumer.js
pageLoaded(){
$("body").bind("eventA", function(args){console.log("Got it!");} );
... }
问题是第一次触发事件(加载页面时) - 消费者看不到它。然而,第二次事件被解雇了,一切都很好!
我猜这是因为事件在消费者开始收听之前就被解雇了。
在为事件创建“触发器”和“侦听器”时是否有良好的做法 - 必须在页面加载和以后工作?
答案 0 :(得分:1)
如果在您触发事件时没有听众,则不会发生任何事情,这就是您在第一次触发时没有看到任何内容的原因。
答案 1 :(得分:0)
听起来你需要控制document.ready()调用的顺序..也许对this question或this article的回复可能对你有帮助
答案 2 :(得分:0)
使用类似RequireJS的内容,我可以先加载一个javascript文件,然后再加载另一个。
所以我可以producer.js
依赖于consumer.js