2012-12-15 54 views
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'); 
    } 

但是,當我點擊鏈接時,我收到消息「錯誤加載頁面」。我怎樣才能加載一個功能,以改變到這個新的頁面,通過點擊鏈接?

回答

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")); 
}); 
}); 
+0

YOu幫我找到了正確的答案。謝謝 – eciusr

0

我認爲你是錯的而不是做它的href的你應使用onclick事件,如

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

coz href基本上用於加載或改變到一個頁面,也是在你有鏈接preventDefault()的功能裏面,這樣這個函數就可以執行而不是你的鏈接了。