いくつかのニュースを表示するWebページがあり、クリックするとサーバーへのAJAX呼び出しを行っている古いニュースを表示するボタンがあります。
問題は、クリックが速すぎるとリクエストが2回行われるため、2つの等しい応答を受け取ることです。
#mas-noticias-footerは、古いニュースを表示するボタンのIDです
.noticias-listは、新しいそれぞれに割り当てられたクラスです。.lengthを使用して、表示されるニュースの数を取得し、その数をLIMIT(numItems、3)を使用してSQLクエリを実行するPHPファイルにPOSTします(時間)。
#noticias-displayはニュースを含むulです
これはコードです
$(document).ready(function() {
$("#mas-noticias-footer").on('click',function() {
var numItems = $('.noticias-list').length;
$.ajax({
type: "POST",
url: "mas-noticias.php",
data: "num-noticias="+numItems,
success: function(data) {
$('#noticias-display').append(data);
}
});
});
});
onコールバックの開始時にoff()を使用してイベントのバインドを解除しようとしましたが、複数の呼び出しを回避するために(これは機能します)、問題は、コールバックの終了時にon()を使用してイベントを委任する場合です。それを機能させないでください。