0

我正在开发一个应用程序,如果他停止输入超过 3 秒,我需要从文本框中捕获用户输入。意味着我们需要使用javascript捕获该文本并将其存储在mysql db中......请帮我解决这个问题?

 Thank you.....
4

2 回答 2

2

将事件附加到输入(例如 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 */ }
于 2012-12-13T16:41:57.197 回答
0

使用设置超时。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;" />
于 2012-12-13T17:03:19.840 回答