我正在使用jqm 1.4.5。对于我的网络应用程序在某种情况下,使用pagecontainer更改窗口小部件以编程方式更改为页面时出现问题。我有一个主页,它是index.html文件的一部分。从主页,如果我通过jqm ajax方法加载外部页面,然后从该页面有一个更改回主页的按钮(通过javascript),它会无声地失败。但是,如果外部页面有一个带有href ="#home_page"的锚点按钮,它就可以工作。
正在执行JS代码。所有的ID都是正确的。
为什么它使用锚点按钮但不能使用JS代码以编程方式使用按钮标记?
我做错了什么?
的index.html
<div id="page_home" data-role="page" >
<div data-role="header">
<h1>Home Page</h1>
</div>
<div data-role="content">
<a href="page_external.html" data-role="button"> load in the external page</a>
</div>
page_external.html
<div id="page_external" data-role="page" >
<div data-role="header">
<h1>Home Page</h1>
</div>
<div data-role="content">
<a href="#page_home" data-role="button"> go to home page</a> <!-- this works -->
<button id="mybutton" data-role="button" > go to home page (script)</button> <!-- this does not work -->
</div>
JS
$(document).on("click", "#mybutton, function () {
//this fails silently and does not change the page
$(":mobile-pagecontainer").pagecontainer( "change", "#page_home" );
});
答案 0 :(得分:1)
我在SO上找到了答案:
我使用了错误的语法。它应该是
$(":mobile-pagecontainer").pagecontainer( "change", $("#page_home" ));