如何检测用户输入时输入值的变化?

鳄梨

我想做的是,有一个input方框,当用户键入任何内容时,代码应向服务器发出请求,并向用户返回一些数据。

这只是typeahead建议功能,但仍不完全相同。

我目前拥有的是以下代码

$("input").on("input", function(ev) {
alert(`${ev.type} event detected`)
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" placeholder="text">

并且代码按预期工作,也就是说,只要inputbox值更改,就会捕获该事件。

我的问题是,如何使代码在处理input更改事件之前等待几秒钟或几毫秒1000ms稍后input停止更改触发代码

从现在开始,代码将按我输入的每个字母触发,这会导致发生很多我不希望发生的事件。

耶普鲁比奥

您可以在按下某个键时设置一个计时器,如果按下另一个键并且该计时器仍在运行(timer var不为null),则在重新设置计时器之前将其取消。

var timer;
$("input").on("input", function(ev) {
    if (timer) {
        clearTimeout(timer);
        timer = null;
    }
    timer = setTimeout(function(){
        console.log(`${ev.type} event detected`);
        timer = null;
    }, 1000);
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" placeholder="text">

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在输入时检测用户的语言

动态更新输入时如何检测其值变化(角度6)

如何检测输入jQuery的值变化?

输入值不随用户输入而变化

在angularjs中设置值时如何检测输入元素的变化

如何使用 JS/Jquery 检测输入的值何时动态变化

角度测试无法检测输入值的变化

空用户输入时的默认值

当输入值不变时如何对输入强制进行变化检测

如何检测文本输入的退格键变化?

Azure管道如何在脚本等待用户输入时检测管道何时停止

如何检测用户何时在RecyclerView中向EditText输入值?

如何根据第三输入的变化强制输入值变化?

用户输入时如何保持输入占位符可见

用户输入错误的输入时如何循环代码

当用户单击输入时如何聚焦输入?

当用户输入无效输入时如何终止程序?

如何实现不断变化的用户输入

当值被另一个事件修改时,如何检测输入文本值的变化

我如何使用 Jquery 检测输入值何时发生变化

我如何询问用户的输入并在用户输入时分析输入?

从jQuery检测PHP foreach内部的输入值变化

JS检测HTML输入字段值变化(不寻常的场景)

当用户在C ++上键入时,如何检查用户的输入?

如何观察“ searchTerm”输入字段的值变化?

当用户开始使用 javascript、html 和 css 在输入字段中输入时,如何制作按钮背景颜色发生变化的完整表单?

无法检测动态变化的输入

输入阵列的变化检测

在用户仍在键入时异步获取输入值