jquery mobile загрузить внешнюю страницу, события не запускаются
Я хочу перейти на внешнюю мобильную страницу jquery, но ни одно событие не получает триггер при вызове перехода:
jQuery("#test1").on("pagebeforeshow", function(event) {
WL.Logger.debug("pagebeforeshow: test1");
});
function loadHTML(){
$.mobile.pageContainer.pagecontainer("load", "./pages/test1/test1.html", {});
}
function openHTML(){
$.mobile.pageContainer.pagecontainer("change", "./pages/test1/test1.html", {});
}
и это содержание моего HTML:
<div data-role="page" id="test1">
<div data-role="content" style="padding: 15px"></div>
</div>
Есть ли способ использовать любое событие?
1 ответ
Решение
Чтобы прикрепить обработчик pagebeforeshow к странице, которая еще не загружена в DOM, необходимо использовать делегирование событий:
https://learn.jquery.com/events/event-delegation/
jQuery(document).on("pagebeforeshow", "#test1" function(event) {...