【发布时间】:2012-05-10 16:48:04
【问题描述】:
我有 5 页 - 为了方便起见,可以说:
- one.html
- 两个.html
- 三个.html
- 四个.html
- 五个.html
当我加载每个单独的页面时,pageinit 和 pagecreate 都可以正确触发。
问题:
当我从 one.html 转到 two.html 时,pageinit 和 pagecreate 都会触发,但是当我返回 one.html(从 two.html)时,pageinit 和 pagecreate 不要火。
为什么会这样?如何在页面加载以及浏览每个页面时始终触发 pageinit 和 pagecreate?
更新:
对于我拥有的每一页:
<div data-role="page" id="page-name">
// content
</div>
为了测试事情发生时的顺序,我这样做:
$(document).on('pagecreate','[data-role=page]', function(){
console.log('PAGECREATE');
});
$(document).on('pageinit','[data-role=page]', function(){
console.log('PAGEINIT');
});
$(document).on('pagebeforeshow','[data-role=page]', function(){
console.log('PAGEBEFORESHOW');
});
$(document).on('pageshow','[data-role=page]', function(){
console.log('PAGESHOW');
});
如何使用 pagechange 始终调用 pageinit 和 pagecreate
【问题讨论】:
-
onBack 不会触发,因为您的页面位于 DOM 中。尝试在 jQuery mobile 中禁用 ajax。或者,如果好,而不是 5 个不同的页面,请为此尝试
data-role = page。它的工作原理与您正在寻找的相同。
标签: jquery jquery-mobile