1
我有两个jquery移动“页面”(divs指定为页面)在html页面上。每次进入页面时我都想调用方法。我挂钩方法在'pageinit'事件发射。但是,它只会被调用一次,并且不会在随后的changePage调用中调用。jQuery Mobile - pageinit处理程序不会调用后续changePage调用
这是jsFiddle to demonstrate。 (时间戳应该改变pageinit)
这里是我的全部代码https://gist.github.com/dev-e-loper/5356942
我的网页:
<div id="page1" data-role="page">
<h1>One</h1>
<a id="page1_link" data-role="button">go to page 2</a>
<div id="page1_output"></div>
</div>
<div id="page2" data-role="page">
<h1>Two</h1>
<a id="page2_link" data-role="button">go to page 1</a>
<div id="page2_output"></div>
</div>
代码挂钩pageinit处理程序:
$("#page1").live('pageinit', function() {
$("#page1_output").append('<br/> page 1 initialized. time - ' + new Date());
});
$("#page2").live('pageinit', function() {
$("#page2_output").append('<br/> page 2 initialized time - ' + new Date());
});
$("#page1_link").live('click', function() {
$.mobile.changePage($("#page2"));
});
$("#page2_link").live('click', function() {
$.mobile.changePage($("#page1"));
});
你会觉得结合'pageload'事件会工作,但事实并非如此。 'pageshow'尽管 – 2013-04-10 18:51:12
工作'on'函数,页面使用jquery 1.6.4,所以它不可用。我会升级jquery并使用'on'来代替。谢谢 – 2013-04-10 18:53:32
我不知道他们是如何想出页面事件名称的,但'pageload'也可能会让人困惑。页面是从缓存还是从服务器加载的?很高兴我能解决你的问题。 – andleer 2013-04-10 19:48:13