gpt4 book ai didi

javascript - 确定用户按下键后的时间量(onKeyUp)

转载 作者:行者123 更新时间:2023-11-30 12:25:48 26 4
gpt4 key购买 nike

我正在尝试确定用户按下某个键后的时间量(秒)。这是一个输入框的值。

我想在文本框的值发生变化时实用地调用 updateData 函数,但仅在 onKeyUp 的特定持续时间之后。

我目前正在检查 value.length 并在输入超过 3 个字符时调用 updateData 函数...是否有一种简单的方法来确定 onKeyUp 之后的时间量?

<input id="location" onkeyup="delayUpdate()">

<script>

var input = document.getElementById("location").value;

function delayUpdate() {
if (input.length > 2) {
updateData();
}
}

function updateData() {
console.log(input);
}

</script>

最佳答案

听起来您正在寻找一种去抖动效果以避免在每次击键时发送数据。

像这样的事情就可以做到这一点

var input = document.getElementById("location");
var timer = null;

input.addEventListener('keyup', delayUpdate, false);

function delayUpdate() {
var self = this;

clearTimeout(timer);

timer = setTimeout(function() {
if (self.value.length > 2) {
updateData(self);
}
}, 1000); // a second

}

function updateData(input) {
console.log(input.value);
}

FIDDLE

关于javascript - 确定用户按下键后的时间量(onKeyUp),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29441546/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com