我有一个textarea,我试图为此创建一个自动保存。我想保存这样一个textarea的内容,如果5秒后没有按下键:
function autosaving(){
// save the value of text area into localstorage
alert('saved');
}
这是textarea:
<textarea class="mytextarea" rows="4" cols="50"></textarea>
我希望在将最后一个字符插入该textarea后5秒执行该功能。换句话说,如果传递5秒并且textarea中没有任何新值,我想运行该函数。我怎么能这样做?
答案 0 :(得分:3)
使用keyUp
和setTimeout
var timer;
$("textarea").on("keyup", function() {
clearInterval(timer);
timer = setTimeout(function() {
autosaving();
}, 5 * 1000);
});
答案 1 :(得分:2)
尝试这样的事情:
var to = null;
$(".mytextarea").on("keypress", function(){
if(to !== null) clearTimeout(to);
to = setTimeout(function(){
autosaving();
to = null;
}, 5000);
});