我想做的是在锚点中加载一个函数以更改jquery mobile中的页面
以下是简化的 HTML:
<div data-role="page" id="oldPage">
<ul>
<li><a href="newPage()">Link 1</a></li>
<li><a href="newPage()">Link 2</a></li>
<li><a href="newPage()">Link 3</a></li>
</ul>
</div>
<div data-role="page" id="newpage">
</div>
这是脚本:
function newPage() {
$.mobile.changePage('#newpage');
}
但是当我单击链接时,我收到消息"加载页面时出错"。如何通过单击链接加载函数以切换到此新页面?
它会
href="javascript:newPage()"
但我不推荐它
而是考虑
<div data-role="page" id="oldPage">
<ul>
<li><a href="#page1" id="someId1">Link 1</a></li>
<li><a href="#page2" id="someId2">Link 2</a></li>
<li><a href="#page3" id="someId3">Link 3</a></li>
</ul>
</div>
<div data-role="page" id="newpage">
</div>
$(function() {
$("#oldPage a").on("click",function() {
$.mobile.changePage($(this).attr("href"));
});
});
我猜你的意思是
$(function() {
$("#oldPage a").on("click",function() {
$("#oldPage").load($(this).attr("href"));
});
});
我认为你做错了,而不是href,你应该使用onclick事件,如
<li><a onclick="newPage()" href="#">Link 1</a></li>
coz href基本上用于加载或更改为页面,并且在您preventDefault()
链接的功能中也是如此,因此该功能将单独执行而不是您的链接。