jQuery .trigger()或.triggerHandler()可以跨两个单独的JavaScript文件工作吗?我有一个时间线,当与之交互时,会触发一个函数
scrubbingToTime(position)。在一个单独的JavaScript文件中,我希望检测scrubbingToTime(position)何时被调用,因此我查看了jQuery .trigger()。代码很难重现,但想法是这样的:
timeline.js
function scrubbingToTime(position) {
$(document).trigger("scrub", [position]);
}catch.js
$(document).on("scrub", function(e, pos) {
console.log("Time Changed!");
});这不起作用,但是如果触发器和on在同一个文件中,它就能正常工作。例如,
timeline.js
function scrubbingToTime(position) {
$(document).trigger("scrub", [position]);
$(document).on("scrub", function(e, pos) {
console.log("Time Changed!");
});
}这实际上是console.logs Time Changed!消息。有什么原因导致第一个(我想要的)不起作用吗?
发布于 2021-11-22 19:40:44
您需要确保JS加载的顺序是正确的。
如果你先加载catch.js文件,那么timeline.js将不会知道scrub,因为它还没有加载。
https://stackoverflow.com/questions/70070954
复制相似问题