3

通常のサイトを jQuery mobile に移行しています。イベントバインディングのいくつかと、その他のページ固有の調整があります。

$('.roulette-img').css({
});

$('.shuffle-img').each(function(){
});

$('.button').bind('mousedown', function(){
});

$('.spin-btn').bind('mousedown', function(){
    $(document).bind('mouseup', function(){
    });
})

$(window).resize(function(){
});

現在、特定のページが正常に動作しません (これらのイベントを発生させないため)。これは、jQuery の ajax ナビゲーションが原因であると理解しています。スクリプトは最初のページが読み込まれたときに 1 回だけ読み込まれ、その結果、AJAX 経由で読み込まれた後続のすべてのコンテンツがイベントにバインドされません。

それを回避するのに最適な方法はどれですか?

4

2 に答える 2

1

最初にバインドを使用しないでください。非推奨であり、jQuery バージョン 1.9 以降から削除されています。代わりに on を使用してください。次に例を示します。

$('#buttonID').on('click', function(){       

});

また、特定のページ内で何かを実行したい場合は、次のように jQuery Mobile ページ イベント内で実行する必要があります。

$(document).on('pagebeforeshow', '#index', function(){       

});

私はあなたに実用的な例を作りました: http://jsfiddle.net/Gajotres/8hKe2/

ここでは、ページ イベントを使用して特定のページのコードを実行する様子を確認できます。

知りたいことはすべて、この回答/記事で見つけることができます: jQuery Mobile: document ready vs page events

于 2013-04-05T09:41:57.013 に答える