Javascript 从单独的文件触发JS自定义事件

Javascript 从单独的文件触发JS自定义事件,javascript,jquery,triggers,jquery-events,Javascript,Jquery,Triggers,Jquery Events,我有一个JS文件来管理我的popin。每次打开或关闭popin时,我都会触发这样一个自定义事件 文件编号1 $(document.trigger('popinpen',{popin:$(popinId)}); 现在,如果我想在触发时做些什么,我可以做下面的事情 文件编号2 $(document).on('popinpen',函数(e,popin){ 控制台日志(e); 控制台日志(popin); }); 这段代码在同一个文件中工作,但不在单独的文件中,我不明白为什么。我尝试在第一个文件之前或

我有一个JS文件来管理我的popin。每次打开或关闭popin时,我都会触发这样一个自定义事件

文件编号1

$(document.trigger('popinpen',{popin:$(popinId)});
现在,如果我想在触发时做些什么,我可以做下面的事情

文件编号2

$(document).on('popinpen',函数(e,popin){
控制台日志(e);
控制台日志(popin);
});
这段代码在同一个文件中工作,但不在单独的文件中,我不明白为什么。我尝试在第一个文件之前或之后移动第二个文件,但它没有改变任何东西


我遗漏了什么吗?

我想,在你开始听之前,你正在触发行动。 当您将代码分成两个不同的文件时,您必须确保您的侦听器首先注册


首先在index.html中包含您的侦听器,然后是触发器操作。

您说得对!我已经用simple index.html和2个Javascript文件进行了测试,在触发它之前,您必须先聆听操作。在我的项目中,这就是我所拥有的,但它仍然不起作用。如果我从浏览器控制台手动触发它,它仍然可以工作。它必须特定于我的项目。我使用Webpack绑定的JS文件管理我的触发器,而监听它的文件不是。看起来更像是一个范围问题,我接受了你的回答,尽管我的问题不仅仅是文件顺序问题,它帮助我理解“bug”在哪里。就作用域变量而言,Webpack和jQuery似乎不是很好的朋友。我必须使用一个简单的Javascript解决方案来触发和侦听我的自定义事件,以使其正常工作,因为(显然)Webpack使用的jQuery实例与我第二个文件中的不同。更多信息请点击此处: