ajax呼び出しをデバウンスする必要があります。最も簡単な方法は、doOnce
を実行することです。
var doOnce = 1;
$(document).ready(function(){
$(".box_content").live('click',function(e){
var element = $(this);
var id = element.attr("id");
var mem_email = $("#to_mem").val();
var mem_firstName = $("#to_memfirstName").val();
var happening_id = $("#happening_id<?php echo $id; ?>").val();
var info = "id=" + id + '&mem_email=' + mem_email + '&mem_firstName=' + mem_firstName + '&happening_id=' + happening_id;
if(doOnce){
doOnce--;
$.ajax({
type: "POST",
url: "/happening_getMem_linkUP.php",
data: info,
cache: false,
success: function(html){
$("#now_from_linkup<?php echo $id; ?>").html(mem_firstName);
doOnce++;
}
});
}
return false;
});
});
doOnce
trueで始まるため、ajaxが呼び出され、doOnce
ajax呼び出しを無効にすると、falseになり、ajaxが成功を返すと、doOnce
trueに戻され、再度実行できるようになります。
Ben Almanのスロットル&デバウンスプラグイン を使用することもできます。