在功能中加载新页面

时间:2012-12-15 06:52:40

标签: jquery jquery-mobile

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

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

2 个答案:

答案 0 :(得分: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"));
 });
});

答案 1 :(得分:0)

我认为你做错了而不是href你应该使用像

这样的onclick事件
<li><a onclick="newPage()" href="#">Link 1</a></li>

coz href基本上是用于加载或更改页面,也是在函数内部preventDefault()的链接,这样就不会执行单独的函数而不是链接。