【发布时间】:2015-08-19 23:14:51
【问题描述】:
我正在尝试在 Jquery mobile 1.4.5 中注册 pagecontaintershow 事件。在我的页面加载然后更改后,我的 pagecontainerbeforeshow 事件永远不会被捕获或触发。新页面确实加载正确
以下代码等待按钮单击,然后切换到新页面。我在加载之前注册了 pagecontainerbeforeshow 事件。我什至尝试了不同的页面容器侦听器,但仍然一无所获。捕捉事件的正确方法是什么?
更新 1:
我正在阅读有关您可以和不能将 pagecontainer 事件绑定到什么的相互矛盾的信息。我读过只有绑定到“文档”才有效,而我也读过你应该能够绑定到实际的页面 ID。我刚刚测试了与文档的绑定并触发了该事件,但这将在每次页面加载时触发。我必须检查活动页面是什么吗?是否允许绑定到 in id?
更新 2:
所以我做了更多阅读,jqm 1.4 到 1.4.3 只允许您使用“文档”进行绑定。 jqm 1.4.5 应该让你也绑定到页面 id。然而,那是我的问题所在。它不起作用。有什么想法吗?
new_page.html:
<div data-role="page" id="new_page">
<div data-role="header" >Header</div>
<div data-role="content" >Hello</div>
<div data-role="footer" >footer</div>
</div>
JS:
$(document).on("click", "#button", function () {
//设置事件监听器(永远不会被触发)
$("#new_page").one( "pagecontainerbeforeshow", function( event, ui ){
/// do something
});
//加载新页面(页面加载正常)
$($mobile_pagecontainer).pagecontainer( "change", "new_page.html", { role: "page"} );
});
【问题讨论】:
-
请检查更新。
标签: jquery-mobile