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

Trigger a JS custom event from a separate file

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

文件 n°1

$(document).trigger('popinOpen', {popin: $(popinId)});

现在,如果我想在触发触发器时执行某些操作,我可以执行以下操作。

文件 n°2

$(document).on('popinOpen', function(e, popin) {
  console.log(e);
  console.log(popin);
});

此代码在同一个文件中有效,但在单独的文件中无效,我不明白为什么。我试过将第二个文件移动到第一个文件之前或之后,但它没有任何改变。

我是不是漏掉了什么?

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

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