複数ページの JQM アプリで、イベントが複数回発生するという問題がありました。例えば:
$("#Button").on("click", function (event) {
alert("hello");
});
これは最初は 1 回発生しますが、他のページに移動したり、[戻る] ボタンを使用したりした後、リンクへのアクセス数が増加するにつれて、アラート ポップアップの数が増加しました。を使用してこれを停止できました
event.stopImmediatePropagation();
しかし、これは私のアプリで別の問題を引き起こしていました。なんてこと?これは非常にイライラします。これが JQM サイトでより適切に文書化されていないのはなぜですか? .. とにかく。解決策を探しているときに、この投稿を見つけました
http://www.ardeeram.com/blog/2012/06/03/jquery-mobile-events-firing-multiple-times/
「pageinit」イベントを、要素が見つかったページ ID に委譲することをお勧めします。すなわち
jQuery(document).on('pageinit', '#page_one', function (event) {
)};
そのページのコード ブロックごとに複数の pageinit ブロックを使用する代わりに (記事にあるように)、pageinit ページ ID を html の最初のページに設定するという予感がありました。試してみたところ、複数イベントの問題がなくなりました。私は自分のアプリをテストして、他のページ (合計 6 ページあります) に何も壊れていないことを確認し、問題なく動作することを確認しました。私の質問は次のとおりです。このメソッドを pageinit に使用する際に欠点や問題が見られる人はいますか?