使用客户端脚本,我有点虚弱(或者可能很弱)。我试图实现一个延迟调用,以便在用户停止键入后等待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