¿Funciona jQuery .trigger() o .triggerHandler() en dos archivos JavaScript separados? Tengo una línea de tiempo que, cuando se interactúa con ella, activa una función
scrubbingToTime(position) . En un archivo JavaScript separado, quiero detectar cuándo se llama a scrubbingToTime(position) , por lo que estaba investigando jQuery .trigger(). El código es difícil de reproducir, pero la idea era que fuera como:
timeline.js
function scrubbingToTime(position) { $(document).trigger("scrub", [position]); } catch.js
$(document).on("scrub", function(e, pos) { console.log("Time Changed!"); });Esto no funciona, sin embargo, si el activador y el activado están en el mismo archivo, funciona bien. Por ejemplo,
timeline.js
function scrubbingToTime(position) { $(document).trigger("scrub", [position]); $(document).on("scrub", function(e, pos) { console.log("Time Changed!"); }); } ¡Esto realmente console.logs the Time Changed! mensaje. ¿Hay alguna razón por la que el primero (lo que quiero) no funcione?
Debe asegurarse de que el orden de carga de JS sea correcto.
Si está cargando su archivo catch.js primero, entonces timeline.js no sabrá acerca de la limpieza porque aún no se ha cargado.