当前位置: 首页 > 面试题库 >

.keyCode与.which

班经亘
2023-03-14
问题内容

我以为可以在Stack Overflow的某处得到答案,但是我找不到它。

如果我正在监听按键事件,是否应该使用.keyCode.which确定是否按下Enter键?

我一直都做以下事情:

$("#someid").keypress(function(e) {
  if (e.keyCode === 13) {
    e.preventDefault();
    // do something
  }
});

但是我看到的示例使用.which而不是.keyCode。有什么不同?一个跨浏览器比另一个更友好吗?


问题答案:

注:下面的答案写于2010年在这里很多年以后,无论是keyCodewhich赞成不赞成使用key(对于逻辑密钥)和code(对于关键的物理位置)。但是请注意,IE不支持code,并且它对key规范的支持是基于较早版本的规范,因此不太正确。在我撰写本文时,当前基于EdgeHTMLChakraEdge均不支持code,但Microsoft正在为其Edge推出基于Blink和V8的替代产品,据推测可以/将会这样做。

有些浏览器使用keyCode,有些使用which

如果你使用的是jQuery,则可以可靠地使用whichjQuery 标准化事物;这里更多。

如果你不使用jQuery,则可以执行以下操作:

var key = 'which' in e ? e.which : e.keyCode;

或者:

var key = e.which || e.keyCode || 0;

......它处理的可能性,e.which可能是0(通过恢复0到了最后,使用JavaScript的好奇,强大的||运营商)。



 类似资料:
  • 问题内容: 问题: 将HTML输入中允许的字符限制为az AZ。 对于业务需求,这需要在KeyPress上完成,以便甚至不允许字符出现在输入中。 Tab,Enter,箭头,退格键,Shift键都是允许的。用户必须能够自由地移入和移出文本框,删除字符等。 这是我的代码的起点… 但是,我在 keyCode中 获得的每个值 都不 对应于我在网络上看到的 任何 字符表。例如,字符“ h”给我返回码104。

  • 字母和数字键的键码值 按键 键码 按键 键码 按键 键码 按键 键码 A 65 J 74 S 83 1 49 B 66 K 75 T 84 2 50 C 67 L 76 U 85 3 51 D 68 M 77 V 86 4 52 E 69 N 78 W 87 5 53 F 70 O 79 X 88 6 54 G 71 P 80 Y 89 7 55 H 72 Q 81 Z 90 8 56 I 73

  • 问题内容: 我正在编写一个基本程序,要求用户输入String,并且我尝试使用Robot(来自),它会在延迟后将该消息键入另一个文档。我现在遇到的问题是,我需要将得到的所有内容都转换为KeyCode。有没有更好的方法可以做我想做的事情?我想我总是可以有一个巨大的switch语句来获取适当的KeyCode,但是我希望会有一种更优雅的方法。我做Python一段时间后的第一个想法是制作一个字符串并将其以某

  • 问题内容: 我在NetBeans IDE中有一个Java Swing应用程序。 我制作了一个表单,并将KeyListener附加到我的各种控件上,如下所示: 并定义如下: 我在上添加了,以查看会发生什么并验证我的键侦听器确实起作用。在构建和运行应用程序时,我意识到输出似乎总是有一个 为了验证这一点,我将println更改为,并且始终返回0。 我可能完全误解了KeyCode的功能,但我认为它会与Or

  • 问题内容: 我有一个JSF ajax keyup事件链接到备用bean中的事件列表器。 JSF文件中的代码如下所示。 支持bean中的代码如下。 我想根据按键来实现不同的逻辑,如下面的伪代码所示。 有人可以告诉我在备用bean中是如何完成的吗? 问题答案: 在不包含JavaScript的任何信息对象。您需要自己传递期望的信息。这可以通过一个隐藏的输入字段来实现,该字段的值将由JavaScript预

  • 有什么区别?公共布尔onKeyDown(int-keyCode,KeyEvent-event)参数是keyCode,按钮,用户按下,但是KeyEvent是什么?