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 に答える