我想每5秒鐘用ajax調用更新視圖。我以下面的方式完成了它。如何停止點擊運行超時jquery函數並運行新函數?
function getData(a, b, c) {
$.ajax({
url : 'url',
success : function(data) {
$("#result").html(data);
setTimeout(getData, 5000, a, b, c);
}
})
}
$(document).ready(function() {
getData(1, 2, 3);
});
$('.btn').click(function(){
getData(4,5,6);
});
但是,通過這種方式儘可能多的功能正在運行儘可能多的點擊。
我需要停止前一個並運行新的或更改運行功能的參數。
使用'clearTimeout()'停止你的setTimeout函數的執行.. –
我試着這但不能捕捉正在運行的事件。 clearTimeout(???) – CoderBoy
您可以在ajax調用中設置更多參數。 'async:false'。它會逐一打出每個電話。 – Ali