0

page1.html、page2.htmlなど、ajax経由でページをロードするjQuery Mobileアプリがあります

page1.html にボタンがあります。

<a href="page2.html" data-role="button" class="submit">Submit</a>

page2.html にはボタンもあります

 <a href="page3.html" data-role="button" class="submit">Submit</a>

本文内の各ページで次のコードを使用して参照されるスクリプト ファイル (script.js) があります。

$(document).on('pagechange', function(){
    console.log('new page');
    $('.submit').on('click', function(){
      console.log($('this'));
    });
}

「新しいページ」は各ページのコンソールに書き込まれていますが、クリックは単一のページにのみ登録されています (ページを更新すると、そのページでのみ機能します)

各ページでクリックを発生させる方法についてのアイデアはありますか?

4

2 に答える 2

0

のセレクタ パラメータを使用し.on()ます。その場合、イベントを 1だけバインドする必要があるため、document.ready()代わりにハンドラで次のように実行します。

$(document).ready(function() {
    $(document).on('click', '.submit', function(){
      console.log($('this'));
    });
});
于 2012-10-31T08:43:24.470 に答える
0

jquery モバイルでは、イベントpageinitを従来の と同等のものとして使用する必要がありますonload。以下のコードでうまくいくはずです。

$(document).on('pageinit', function(){
    console.log('new page');
    $('.submit').on('click', function(){
      console.log($('this'));
    });
}
于 2012-10-31T08:44:22.300 に答える