JQuery Mobile, перенаправление по window.location предотвращает событие pagehow
У меня есть мобильное приложение JQuery со множеством страниц, связанных друг с другом. Если я добавлю ссылку на страницу A и установлю ссылку на страницу B, этот скрипт будет работать нормально:
$(document).on('pageshow','#pageB',function(){
alert('hello!');
});
Но если я помещу кнопку на странице A и напишу этот код для события onclick:
window.location="pageB.html";
Событие pagehow больше не поднимется! Где проблема? Как я могу использовать window.location и все еще быть в состоянии поймать событие pagehow?
1 ответ
Когда вы используете window.location
или же window.location.href
Вы обычно загружаете страницы без Ajax и удаляете все предыдущие страницы в DOM.
Если у вас есть загруженные библиотеки JS в pageA.html, они не будут работать при загрузке pageB.html, потому что они удалены.
Следовательно, вам нужно разместить библиотеки JS в pageB.html<head>
чтобы JS код / библиотеки работали.
Обновить
Загрузите страницы / HTML-файлы через Ajax, используя
// jQM 1.3.2 and below
$.mobile.changePage("#page_id" or "URL");
// jQM 1.4
$.mobile.pageContainer.pagecontainer("change", "#page_id" or "URL");