0
Следующие работы отлично. Я нажимаю #testlink, и он срабатывает.jQuery dispatchEvent не срабатывает при загрузке DOM
jQuery(document).ready(function() {
jQuery("#testlink").on("click", function(event) {
document.dispatchEvent(new CustomEvent('funcTest', {
'detail': {
test: 'stuff'
}
}));
});
});
Теперь я хочу сделать то же самое без on.Click, я хочу, чтобы стрелять, когда веб-страница загружается. Поэтому удалите onclick.
jQuery(document).ready(function() {
document.dispatchEvent(new CustomEvent('funcTest', {
'detail': {
test: 'stuff'
}
}));
});
Но это не сработает. Ничего не произошло. Зачем? Как я могу заставить это срабатывать при загрузке страницы?
Код должен работать: https://jsfiddle.net/a87umsjh/ - Является ли обработчик событий для функции funcTest перед вызовом 'dispatchEvent'? – Andreas
да, я думаю, что это то, что происходит. funcTest на самом деле находится в content.js, который является частью расширения Chrome. его в другой песочнице. поэтому его нужно назначать слишком поздно? как я могу это исправить? Я попробую setTimeout, который, я думаю, глуп. –
ya, он работает с setTimeout. Даже если тайм-аут супер низкий, как 2 или 10. но как только я прокомментирую таймаут, он больше не срабатывает. Я думаю, что setTimeout уродлив. должен быть лучший способ вызвать funcTest без необходимости ждать. –