1

jQuery Mobile を使用して、PC およびタブレット用の Web アプリケーションを作成しています。

また、jQuery Mobile の Ajax ナビゲーション機能を使用しています。

そのため、ユーザーがリンクをクリックすると、読み込み中のスピナーが表示されます。ただし、JQM がそのページを読み込もうとしている間、ユーザーは別のリンクをクリックする可能性があります。この場合、JQM は最初のページを完全にロードした後、2 番目のページをロードしてから 2 番目のページに移動します。

ここで、ajax ナビゲーションが機能している間はすべてを無効にしたいと考えています。すべては、他のリンクをクリックしてはならない、他の JavaScriptclick関数を呼び出してはならない、スクロールできない、そして...

また、各 ajax ナビゲーションにはタイムアウトが必要です。

これを行う方法?

4

1 に答える 1

1

jQM には、新しいページの DOM へのロードが完了したときに発生するいくつかの異なるイベントがあります。リンクがクリックされたら、移行が完了するまで、すべてのリンクを一時的に無効にしないのはなぜですか?

$('body').on('click', 'a', function() {
    $('body').on('click', 'a', function() {
        return false;
    }); 
    $(document).bind('pagechange', function() { 
        $('body').off('click', 'a'); 
    }); 
});

上記のイベントを使用しpagechangeましたが、目的により適した他のイベントがいくつかあります。http://jquerymobile.com/demos/1.1.1/docs/api/events.html

于 2012-09-04T14:31:45.507 に答える