我写了一个脚本,它自动保存textarea的onchange事件中的textarea值。我面临的问题是,当用户键入内容并突然停止时,直到用户点击屏幕上的其他位置才会触发onchange。是不是可以让我的脚本工作方式,当用户停止在textarea上打字:自动保存更改事件
<textarea onchange="onautosave()" id="autosave" ></textarea>
让我们说5秒,然后功能onautosave()
被触发?请让我现在怎么做。谢谢
我写了一个脚本,它自动保存textarea的onchange事件中的textarea值。我面临的问题是,当用户键入内容并突然停止时,直到用户点击屏幕上的其他位置才会触发onchange。是不是可以让我的脚本工作方式,当用户停止在textarea上打字:自动保存更改事件
<textarea onchange="onautosave()" id="autosave" ></textarea>
让我们说5秒,然后功能onautosave()
被触发?请让我现在怎么做。谢谢
您可以使用onkeyup
事件和setTimeout()
触发自动保存。下面是代码(只勾勒整个事情)
<textarea onkeyup="autosave()" id="autosave" ></textarea>
var autosave_timer = null;
function save() {
// actual save code
}
function autosave() {
if(autosave_timer)
clearTimeout(autosave_timer);
autosave_timer = setTimeout(save, 5000);
}
请注意楔子超时。它有助于不会压倒服务器。
如果我没有错,回答的代码只适用于定时器,定时器只会启动,然后当用户停止在textarea上打字? – user3027531
计时器将从第一个输入的字符开始,并在每个下一个输入的字符上重置。但重要的是,可以说计时器在用户停止输入时开始。 – twil
感谢twil,我想要... – user3027531
您可能会使用keyup和keydown ..但想想一种方法来防止您的服务器被保存请求溢出;) – jantimon