使用客戶端腳本,我有點虛弱(或者可能很弱)。我試圖實現一個延遲調用,以便在用戶停止鍵入後等待500毫秒時執行ajax保存。我發現這個great solution here。但是我的結果函數需要觸發保存的原始元素。我怎樣才能通過這個價值?將原始元素傳遞給回調
這裏是我的調用代碼:
$('#OrderDetailsTabs').on('keyup', 'form[id^="frmWorkOrderHdr"] textarea', function (event) {
var thisElement = this;
delay(function (thisElement) {
alert('Time elapsed!');
saveWOHdr(thisElement);
},
1000);
})
這裏是延遲變量定義:
var delay = (function() {
var timer = 0;
return function (callback, ms) {
clearTimeout(timer);
timer = setTimeout(callback, ms);
};
})();
saveWOHdr需要傳遞給它的原始元素。
只需從傳遞給'delay()'的函數中移除'thisElement'參數即可。其他一切看起來都正確 – techfoobar