Javascript 文本区域输入更改后的设置间隔
我想在输入更改后和2秒钟后保存textareas信息 我使用以下代码进行了尝试:Javascript 文本区域输入更改后的设置间隔,javascript,jquery,Javascript,Jquery,我想在输入更改后和2秒钟后保存textareas信息 我使用以下代码进行了尝试: jQuery('#textarea').on('input propertychange paste', function() { setInterval(function() { //save }, 2000); }); 但这并不是很有效,因为似乎存在某种我创建的无限循环 有什么想法吗?谢谢首先,您需要使用setTimeout而不是setInterval。如果textarea中
jQuery('#textarea').on('input propertychange paste', function() {
setInterval(function() {
//save
}, 2000);
});
但这并不是很有效,因为似乎存在某种我创建的无限循环
有什么想法吗?谢谢首先,您需要使用
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));
});
…并可能在
设置超时之前获取此
或本地值,尽管我想可以再次使用$(“#textarea”)
。谢谢,这很好地工作了。在您的代码中,我认为您的意思是将setTimeout
而不是setInterval
。。。