在第1页,当ajax加载到第2页时,我需要获取第2页的[data-role=page]
元素,
但在pageinit
(或pagecreate
)上,$.mobile.activePage
仍为第1页。
如何在pageinit
上获取新加载的页面而不是当前页面?
$(document).on('pageinit', function () {
console.log($.mobile.activePage); // page 1
});
答案 0 :(得分:0)
如果您只想一次检索它,请使用pagecreate
,因为它每页触发一次,并在导航开始之前触发。
$(document).on("pagecreate", function (e) {
if ( $(e.target).hasClass("ui-dialog") ) {
var dialog = $(e.target);
}
});
要在每次导航到它时检索它,您可以使用pageContainer事件。如果您想要更改您未加入的页面,请使用pagecobtainerbeforechange
。
$(document).on("pagecintainerbeforechange", function (e, data) {
if ( typeof data.toPage == "object" && typeof data.prevPage != "undefined" && data.toPage.hasClass("ui-dialog") ) {
data.toPage.find(".foo").addClass(".bar");
}
});
对于其他事件,以防您只想访问对话框并操纵其标记。
$(document).on("pagecontainerbeforeshow pagecontainershow", function (e, data) {
if ( data.toPage.hasClass("ui-dialog") ) {
var dialog = data.toPage;
/* do something */
});