gpt4 book ai didi

javascript - 如何提高 "on keyup"速度?

转载 作者:行者123 更新时间:2023-12-01 02:00:06 28 4
gpt4 key购买 nike

这是我的代码:

$('#MyInput').on('keyup', function (e) {
if ($(this).val().length == 1) {
ajaxSearch($(this).val());
}
});

我想在 input 时运行一个函数只有一个字符。

问题是,如果用户输入单词的速度非常快,'keyup' event 似乎是从第二个字符开始调用的,这意味着它不会调用ajaxSearch()方法。

有什么办法可以改善'keyup'当函数只有 1 个字符时调用该函数的事件速度?

最佳答案

当用户输入速度太快时,他/她可能还没有释放上一个键,因此从技术上讲,keyup尚未发生。

尝试keypress而不是keyup

$('#MyInput').on('keypress', function (e) {
if ($(this).val().length == 1) {
ajaxSearch($(this).val());
}
});

编辑

On keypress inputvalue 属性尚未更新,因此还要捕获 keyup 如果用户只输入一个字符

$('#MyInput').on('keypress', function (e) {
if ($(this).val().length == 1) {
ajaxSearch($(this).val());
}
});

$('#MyInput').on('keyup keypress', function(e) {
if ($(this).val().length == 1) {
ajaxSearch($(this).val(),e);
}
});

function ajaxSearch(value,e) {
console.log(value, e.type)
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="MyInput">

关于javascript - 如何提高 "on keyup"速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47512041/

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