jQuery/JS 键码:一个 IF 语句中的多个键码

发布于 2024-12-08 00:29:20 字数 454 浏览 1 评论 0原文

我正在尝试为我正在开发的应用程序设置一些键码,但这确实让我发疯。

我正在尝试设置键码,从 keyCode 65 到 91 、 44 、 47 以及其他一些键码都可以工作。

所以我有这个:

var e = event || evt;
if ((e.keyCode > 65 || e.Keycode < 91)){
    // Do function
}

它可以找到。现在,如果我尝试添加另一个键码,它不起作用。 这就是我尝试过的:

if ((e.keyCode > 65 || e.Keycode < 91) && (e.keyCode == 44) && (e.keyCode == 47)){

有人帮助我在一个 If 语句中添加不同的键码吗?

多谢

I'm trying to set up some keycodes for an app I'm working on but it really drives me crazy.

I'm trying to set up keycodes which would say, from keyCode 65 to 91 , 44 , 47 and few others, do function.

So I have this:

var e = event || evt;
if ((e.keyCode > 65 || e.Keycode < 91)){
    // Do function
}

which works find. Now if I try to add another keycode it doesn't work.
This is what I tried:

if ((e.keyCode > 65 || e.Keycode < 91) && (e.keyCode == 44) && (e.keyCode == 47)){

Does someone help me to add different keycodes in one If statement?

Thanks alot

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

握住你手 2024-12-15 00:29:20

试试这个

if (
  // get all the keys between 65-90
  (e.keyCode >= 65 && e.keyCode <= 90) 
  // or  44 or 47
  || e.keyCode == 44 || e.keyCode == 47)
{
   // do stuff
}

如果条件逻辑让您困惑,我认为您最好考虑一下您想要包含(而不是排除)的数字。将它们分成多个范围并将每个范围放在自己的行上。从伪代码开始:

if 
  // keys between 31-47
  // or keys between 58-90
then
  // do stuff
end

然后填写条件:

if (
  // keys between 31-47
  (e.keyCode >= 31 && e.keyCode <= 47) 

  // or keys between 58-90
  || (e.keyCode >= 58 && e.keyCode <= 90) 
)
{
  // do stuff
}

Try this

if (
  // get all the keys between 65-90
  (e.keyCode >= 65 && e.keyCode <= 90) 
  // or  44 or 47
  || e.keyCode == 44 || e.keyCode == 47)
{
   // do stuff
}

If the conditional logic is tripping you up, I think you might be best served by thinking about the numbers you want to include (not exclude). Break them into ranges and put each range on its own line. Start with pseudo code:

if 
  // keys between 31-47
  // or keys between 58-90
then
  // do stuff
end

Then fill in the conditions:

if (
  // keys between 31-47
  (e.keyCode >= 31 && e.keyCode <= 47) 

  // or keys between 58-90
  || (e.keyCode >= 58 && e.keyCode <= 90) 
)
{
  // do stuff
}
江南烟雨〆相思醉 2024-12-15 00:29:20

如果您想要从 31 到 90 的所有值(除了从 48 到 57 的值):

if (e.keyCode >= 31 && e.keyCode <= 90 && !(e.keyCode >= 48 && e.keyCode <= 57)) {
  // whatever 
}

现在可以等效地写为:

if (e.keyCode >= 31 && e.keyCode <= 47 || e.keyCode >= 58 && e.keyCode <= 90) {
  // whatever
}

If you want everything from 31 to 90 except for those from 48 through 57:

if (e.keyCode >= 31 && e.keyCode <= 90 && !(e.keyCode >= 48 && e.keyCode <= 57)) {
  // whatever 
}

Now that could be written equivalently as:

if (e.keyCode >= 31 && e.keyCode <= 47 || e.keyCode >= 58 && e.keyCode <= 90) {
  // whatever
}
请别遗忘我 2024-12-15 00:29:20
if ((e.keyCode > 65 && e.Keycode < 91) || e.keyCode == 44 || e.keyCode == 47){
   //do stuff
}
if ((e.keyCode > 65 && e.Keycode < 91) || e.keyCode == 44 || e.keyCode == 47){
   //do stuff
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文