У меня есть сценарий, который содержит прототип игры. Поскольку мы собираемся повторно использовать этот прототип много раз, у меня есть это в отдельном скрипте.
Также есть второй скрипт, который создает прототип из основного скрипта. В этом скрипте я хочу поймать триггер события из прототипа.
прототип
$("#trigger").trigger("noPossibilities");
второй скрипт:
$("#trigger").on("noPossibilities", function() {
console.log("no possibilities triggered");
});
Вероятно, я что-то упускаю, так как второй скрипт не улавливает событие. Второй скрипт завернут в функцию готовности документа jQuery, а прототип — нет. Потому что, когда я также оборачиваю первый скрипт (который содержит прототип), второй скрипт не знает прототипа.
Я искал в Интернете, и я считаю, что это как-то связано с готовым документом.
Я пытался отправить событие из прототипа в js, что, к сожалению, не работает, потому что я, вероятно, делаю что-то не так.
Это та часть скрипта, которая должна инициировать событие:
game.triggerEvent("id", "trigger", "noPossibilities");
game.prototype.triggerEvent = function(idOrClass, elementName, eventName){
if (idOrClass == "id")
{
var element = document.getElementById(elementName);
}
else
{
var element = document.getElementsByClassName(elementName);
}
// Create the event
var event = new CustomEvent(eventName, { "detail": "js event" });
// Dispatch/Trigger/Fire the event
element.dispatchEvent(event);
}
Я попытался поймать его так же, как упоминалось ранее:
$("#trigger").on("noPossibilities", function() {
console.log("no possibilities triggered");
});
Очень надеюсь, что кто-то может мне помочь.