これが私がやっていることの単純化されたバージョンです。
次のような標準メニューがあります。
<ul id="menu">
<li><a href="/link1.html">Link 1</a></li>
<li><a href="/link2.html">Link 2</a></li>
<li><a href="/link3.html">Link 3</a></li>
</ul>
ドキュメントの準備ができたら、関数を呼び出してリンクがどこにも移動しないようにし、ajax 読み込みのクリック イベントをバインドします。
$('#menu a').click(function (e) {
e.preventDefault();
var link = $(this).attr('href');
$.ajax({
url: link,
dataType: 'html',
success: function (html) {
AJAX STUFF HERE
}
});
});
私の質問は、複数のリクエストを防ぐ良い方法は何ですか.
これでの私の最初の試みは、クリックすると、「ロード」のクラスをチェックする条件があります。false の場合、「読み込み」のクラスを html のコンテナーに追加し、ajax の成功時にクラスを置き換えて削除します。これは正常に機能しますが、ユーザーが複数のリクエストを行おうとするとパフォーマンスが低下します。これは、多くのことをしていなくても、毎回イベントを発生させているためだと思います。