我有一个带有“divs
”的大HTML页面被认为是“页面”,我正在“divs
”之间交换。
我已添加此代码:
$(document).bind('pagebeforechange', function(e, data) {
if ( typeof data.toPage === "string" ) {
console.log(data.toPage);
}
}
这是控制台日志:
#page-main
http://ba.m.p.fr/#page-panier
http://ba.m.p.fr/#page-horaires
http://ba.m.p.fr/#page-horaires&ui-page=1-5
http://ba.m.p.fr/#page-horaire-valider
所以,有时它只是id
,有时它是整个网址。怎么来的?
答案 0 :(得分:0)
我做了一个解决方法,这不是解释。我的旧代码就像:
$(document).bind('pagebeforechange', function(e, data) {
if ( typeof data.toPage === "string" ) {
if (data.toPage == "page-aa" ) {
/* code for page-aa */
} else if (data.toPage === "page-bb" ) {
/* code for page-bb */
} else if (data.toPage === "page-cc" ) {
/* code for page-cc */
}
}
}
现在我的新代码是这样的:我依赖于'pagebeforeshow
':
$("div#page-aa").on('pagebeforeshow', function(e, data) {
/* code for page-aa */
});
$("div#page-bb").on('pagebeforeshow', function(e, data) {
/* code for page-bb */
});
$("div#page-cc").on('pagebeforeshow', function(e, data) {
/* code for page-cc */
});
它完美无瑕。但这是一个解决方法,而不是我的问题的解释。无论如何,如果有人谷歌搜索该问题,并阅读我的问题,也许这种解决方法将有所帮助!
答案 1 :(得分:0)
toPage可以是包含要转换到的页面的jQuery集合对象,也可以是要加载/转换到的页面的URL引用。
// We only want to handle changePage() calls where the caller is
// asking us to load a page by URL.
if ( typeof data.toPage === "string" ) ...
http://jquerymobile.com/demos/1.1.1/docs/pages/page-dynamic.html