在函数中加载新页面



我想做的是在锚点中加载一个函数以更改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()链接的功能中也是如此,因此该功能将单独执行而不是您的链接。

最新更新