Прослушивание событий внутри iFrame
Итак, у меня есть главная страница (a) и страница предварительного просмотра (b), встроенная в главную страницу через iframe. Страница (b) запускает специальное событие:
$(document).trigger('preview.compiled');
теперь я хочу, чтобы главная страница (a) прослушала это событие и что-то сделала:
$('iframe').contents().on('preview.compiled', function() {
console.log('Success');
});
однако, приведенный выше код не работает. Есть идеи?
2 ответов
в jQuery trigger()
только вызывает обратные вызовы, которые были добавлены через .on()
своего собственного экземпляра. Таким образом, jQuery в вашем iframe будет запускать только обратные вызовы, которые были установлены с помощью этого экземпляра, а не через экземпляр jQuery вашей главной страницы.
можно назвать dispatchEvent()
передача в свой собственный объект события
document.dispatchEvent(new Event('preview.compiled'));
или может вместо этого использовать