我想在输入更改后和2秒后保存textareas信息。
我尝试使用此代码:
jQuery('#textarea').on('input propertychange paste', function() {
setInterval(function() {
//save
}, 2000);
});
但它不是很有效,因为我似乎创造了某种无限循环。
有什么想法吗?感谢
答案 0 :(得分:3)
首先,您需要使用setTimeout
而不是setInterval
。然后,如果textarea
中有新的更改,则需要清除之前的计时器。例如:
jQuery('#textarea').on('input propertychange paste', function() {
// Clear previous timeout
if ($(this).data('timeout')) {
clearTimeout($(this).data('timeout'));
}
// Set up new one
$(this).data('timeout', setTimeout(function() {
//save
}, 2000));
});