我以为可以在Stack Overflow的某处得到答案,但是我找不到它。
如果我正在监听按键事件,是否应该使用.keyCode
或.which
确定是否按下Enter键?
我一直都做以下事情:
$("#someid").keypress(function(e) {
if (e.keyCode === 13) {
e.preventDefault();
// do something
}
});
但是我看到的示例使用.which
而不是.keyCode
。有什么不同?一个跨浏览器比另一个更友好吗?
注:下面的答案写于2010年在这里很多年以后,无论是keyCode
和which
赞成不赞成使用key(对于逻辑密钥)和code(对于关键的物理位置)。但是请注意,IE不支持code,并且它对key
规范的支持是基于较早版本的规范,因此不太正确。在我撰写本文时,当前基于EdgeHTML
和Chakra
的Edge
均不支持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是什么?