gpt4 book ai didi

javascript - 如何使用 JS 或 jQuery 检测不可见键(ENTER、F1、SHIFT)?

转载 作者:数据小太阳 更新时间:2023-10-29 05:18:37 26 4
gpt4 key购买 nike

首先抱歉,我不知道如何称呼这些键(ENTER、F1、HOME 等)。

实际上,我正在创建一个输入搜索框,onkeyup 调用了一个函数。当用户输入至少两个键时,调用我的函数并使用 AJAX 显示相关搜索结果。问题是当用户按下箭头键、HOME、END 等时,我的 ajax 也会被调用,这是我不想要的。当专注于输入时按 F5 键重新加载页面不会重新加载页面,而是调用 AJAX,这就是为什么这对我来说是个大问题。

$('input[name=\'search\']').on(keyup, function(e) {
if ($('input[name=\'search\']').val().length >= 2) {
// call ajax to display results..
}
});

我想在 if 中添加一个额外的表达式,检查是否按下了不可见的键。喜欢 -

if ($('input[name=\'search\']').val().length >= 2 && (EXPRESSION FOR VISIBLE KEYS)) {
// call ajax to display results..
}

如果按下任何可见的键,则调用 ajax,否则不调用。

我不知道如何做到这一点。因为我不能为 A、B、C、\、=、+、1、2、3 等每个键执行 e.keycode == '65'

是否有现成的图书馆来检查这个或任何其他方式来做到这一点?请帮助我。

最佳答案

您可以检查是否 e.whiche.keyCode介于 48 和 90 之间,对应于字母表中的任何数字或字母。 http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes

if (+e.which >= 48 && +e.which <=90){ ... }

如果你想支持其他不仅仅是字母数字的,我能看到的最简单的方法是创建一个包含你想要白名单的所有键码的数组,并检查数组是否包含键码。这是一个关于如何做到这一点的好帖子:How to find if an array contains a specific string in JavaScript/jQuery?

关于javascript - 如何使用 JS 或 jQuery 检测不可见键(ENTER、F1、SHIFT)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31276699/

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