gpt4 book ai didi

javascript - .keyCode 与 .which

转载 作者:IT老高 更新时间:2023-10-28 13:13:59 35 4
gpt4 key购买 nike

我以为这会在 Stack Overflow 上的某个地方得到解答,但我找不到。

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

我一直在做以下事情:

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

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

最佳答案

注意:下面的答案写于 2010 年。多年后,keyCodewhich 都被弃用,取而代之的是 key(用于逻辑键)和 code(用于 key )。但请注意,IE 不支持 code,并且它对 key 的支持是基于旧版本的规范,因此不太正确。在我写这篇文章时,当前基于 EdgeHTML 和 Chakra 的 Edge 也不支持 code,但微软正在推出基于 BlinkV8 的 Edge 替代品,这可能会/将会。


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

如果你使用 jQuery,你可以可靠地使用 which 作为 jQuery standardizes thingsMore here.

如果你不使用 jQuery,你可以这样做:

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

或者:

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

...它处理 e.which 可能是 0 的可能性(通过使用 JavaScript's curiously-powerful || operator 最后恢复 0 ) .

关于javascript - .keyCode 与 .which,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4471582/

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