JQuery Mobile,通过window.location重定向可阻止页面显示事件

JQuery Mobile, redirecting by window.location prevents pageshow event

本文关键字:事件 显示 重定向 Mobile 通过 window location JQuery      更新时间:2023-12-11

我有一个JQuery Mobile应用程序,其中有许多页面相互链接。如果我在a页上放一个链接,并将href设置为B页,这个脚本就可以正常工作:

$(document).on('pageshow','#pageB',function(){
    alert('hello!');
});

但如果我在a页上放一个按钮,并为onclick事件写下以下代码:

window.location="pageB.html";

页面秀活动不会再增加了!问题出在哪里?如何使用window.location仍然能够捕捉页面显示事件?

使用window.locationwindow.location.href时,正常加载不带Ajax的页面,并删除DOM中所有以前的页面。

如果在pageA.html中加载了JS库,则在加载pageB.html时它们将不起作用,因为它们已被删除。

因此,您需要将JS库放置在pageB.html<head>中,以使JS代码/库正常工作。


更新

使用通过Ajax加载pages/html文件

// jQM 1.3.2 and below
$.mobile.changePage("#page_id" or "URL");
// jQM 1.4
$.mobile.pageContainer.pagecontainer("change", "#page_id" or "URL");