我有我從一個數據庫表中的信息填充一個HTML表格。我做了細胞的表後點擊編輯和添加的jQuery趕上當電池完成正在編輯(最後一次按鍵後2.5秒),阿賈克斯然後發送信息到一個單獨的PHP文件與變化來更新數據庫表值。我發現的一個問題是,如果電池被點擊了的進入另一個細胞和那些2.5秒是之前做出改變,第一個變化是永遠不會更新到數據庫。jQuery,使用多個事件觸發器?
我的問題是:如果我改爲使用field blur事件,是否還有一種方法可以將定時器合併,以便在達到字段模糊或超時時達到ajax?
$('td').on('input', function() {
var _this = $(this); // preserve reference to the input field here
if(saveTimeout) clearTimeout(saveTimeout);
saveTimeout = setTimeout(function() {
console.log(_this)
$.ajax({
method: "POST",
url: "updatedatabase.php",
data: {
content: _this.text(),
date: _this.siblings().first().text(),
prod: $('tr:first-child th:nth-child(' + (_this.index() + 1) + ')').text(),
old: old
}
})
.done(function(msg) {
alert(msg);
});
}, 2500);
});
是的。您可以在鍵盤上使用計時器,並且可以在單元格上使用模糊。相反,我可能會在首先取消超時的字段中的輸入上執行一個'keyup'事件,然後使用其中的函數運行超時。然後模糊事件添加到字段由'keyup' – ntgCleaner