0

我想要做的是在锚中加载一个函数来更改 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');
     }

但是当我单击链接时,我收到消息“错误加载页面”。如何通过单击链接加载功能以更改到此新页面?

4

2 回答 2

1

会,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"));
 });
});
于 2012-12-15T07:29:22.403 回答
0

我认为你做错了而不是 href 你应该使用 onclick 事件

<li><a onclick="newPage()" href="#">Link 1</a></li>

coz href 基本上用于加载或更改页面以及链接的功能内部,preventDefault()以便仅执行该功能而不是您的链接。

于 2012-12-15T09:22:25.560 回答