我正在开发一个应用程序,如果他停止输入超过 3 秒,我需要从文本框中捕获用户输入。意味着我们需要使用javascript捕获该文本并将其存储在mysql db中......请帮我解决这个问题?
Thank you.....
我正在开发一个应用程序,如果他停止输入超过 3 秒,我需要从文本框中捕获用户输入。意味着我们需要使用javascript捕获该文本并将其存储在mysql db中......请帮我解决这个问题?
Thank you.....
将事件附加到输入(例如 keyup、keydown、keypress)。在那里,您将设置一个带有回调的 setTimeout。当然,超时 ID 将存储在 var 中(例如 window.type_timeout)。setTimeout 回调将在这 3 秒不活动的情况下执行您想要的操作。
你可以从这里开始。例如(使用 jQuery):
$('input').on('keyup',function(){
if( window.type_timeout ) clearTimeout( window.type_timeout );
window.type_timeout = setTimeout( do_stuff , 3000 , this /* extra data */ );
});
function do_stuff( input ){ /* do your stuff */ }
使用设置超时。W3 学校对JavaScript 计时有很好的参考
<script>
inputSaveTimeout = null;
function DoSomething() {
window.clearTimeout(inputSaveTimeout);
alert('I just did something');
}
function Updated(e) {
window.clearTimeout(inputSaveTimeout);
inputSaveTimeout = setTimeout(Save, 3000, e.value);
}
function Save(data) {
alert('Saved: ' + data);
}
</script>
<input type="text" onkeydown="Updated(this);" /><input type="button" value="Do Something" onclick="DoSomething(); return false;" />