gpt4 book ai didi

javascript - 确定按下的键是否在提供的数组中

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:27:21 26 4
gpt4 key购买 nike

我有类似的代码:

$("#some-input").keyup(function (event) {
var availableKeys = [".", ",", ";"];
var key = String.fromCharCode(event.which);
if (availableKeys.indexOf(key) != -1) {
alert("Derp");
}
});

但是它并没有像我预期的那样工作。 event.which/fromCharCode 组合在数字或字母(大写字母)上像这样正确工作,这是正确的行为,因为(我假设)事件键码与字符集不同条目。

除了直接指定用于比较的键码(保留字符数组是优先事项)之外,是否有其他解决方法?

最佳答案

尝试更改您的数组以包含您要检查的键的键码:

$("#some-input").keyup(function(event) {
var availableKeys = [190, 188, 59]; // ".", ",", ";"
if (availableKeys.indexOf(event.which) != -1) {
alert("Derp");
}
});

Example fiddle here

Here's a full list of keycodes

编辑
经过一些调查,您的方法似乎应该有效,但 String.fromCharCode 的实现存在缺陷 - 至少对于符号键而言。当按下 . 返回正确的 keyCode 190 时,当您通过 fromCharCode 运行它时,您将获得字符串 ¾[# 等其他键显示类似的行为。我认为这是由于国际化,也许其他人可以确认。

关于javascript - 确定按下的键是否在提供的数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8502368/

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