我有以下情况:
当用户停止在文本区域中输入时,我想等待 2 秒,如果用户在这 2 秒内没有更改 textarea 中的任何内容,我想将 textarea 的内容保存到服务器。如果用户在这 2 秒内更改了 textarea 中的某些内容,我想重新启动等待超时。
在 JavaScript 中,我会像这样实现它
http://codepen.io/ondrejsevcik/pen/LRxWQP
// Html
<textarea id="textarea"></textarea>
<pre id="server"></pre>
// JavaScript
var textarea = document.querySelector('#textarea');
var textValue = "";
textarea.oninput = function (e) {
textValue = e.target.value;
setSaveTimeout();
}
let saveTimeout;
function setSaveTimeout() {
if (saveTimeout) {
clearTimeout(saveTimeout);
}
saveTimeout = setTimeout(saveToServer, 2000);
}
function saveToServer() {
document.querySelector('#server').innerText =
'Value saved to server: ' + textValue;
}