gpt4 book ai didi

javascript - keypress 和 keydown 通过 event.which 提供不同的代码

转载 作者:行者123 更新时间:2023-11-28 07:40:54 26 4
gpt4 key购买 nike

我使用的是 Firefox,当我使用 event.which 来确定哪个键导致事件触发时,在检查 keypress 事件与 keydown 事件的 event.which 时,我会得到不同的代码。

使用“-”键(连字符/减号)时。当基于按键事件报告时,我得到的 event.which 值为 45,但当基于按键事件报告时,我得到的值为 173。

对于按键,如果预期代码的值大于 128,我会得到错误的代码(我得到预期代码和 0x7f)。但是,如果我使用 keydown 执行相同的操作,我会得到预期的代码。

JSFiddle: http://jsfiddle.net/fzd3fjqm/1/

html:

<input id="whichkey" value="type something">
<div id="log"></div>
<div id="log2"></div>

javascript:

$( "#whichkey" ).on( "keypress", function( event ) {
$( "#log" ).html( event.type + ": " + event.which );
});
$( "#whichkey" ).on( "keydown", function( event ) {
$( "#log2" ).html( event.type + ": " + event.which )
});

这是预期的吗?

我正在编写一个由按键触发的函数,并根据事件过滤按键,但它不能很好地适应所描述的行为。

如果这是预期的,那么在按键触发的函数中确定按下哪个键的正确方法是什么?

最佳答案

是的,每个事件的 keyCode 都不同(并且因浏览器而异):http://www.quirksmode.org/js/keys.html

关于javascript - keypress 和 keydown 通过 event.which 提供不同的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28035681/

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