gpt4 book ai didi

javascript - 在 Javascript 事件中捕获特殊键和键大小写

转载 作者:搜寻专家 更新时间:2023-11-01 04:37:39 25 4
gpt4 key购买 nike

我对 Javascript 按键事件(keyupkeydownkeypress)做了一些研究,并得出结论,每个事件都有它们在尝试确定用户按下的键时的优点和缺点。

通过使用 event.which正如 jQuery 所提供的那样,onkeypress 似乎将提供区分大小写的字符代码。即 A-Z 为 65-90,a-z 为 97-122。但是,方向键等特殊键不会触发 onkeypress。然而,它们会触发 keyup/*keydown*,但不会提供区分大小写的代码。

是否存在一种“两全其美”的解决方案,可以同时提供区分大小写和不需要手动同时监控多个事件的特殊 key 检测?

最佳答案

监听keyup事件时

$(document).on('keyup', on_key_up);

function on_key_up(event)
{
console.log('keycode:',event);
}

我记录这个:

altKey: false
bubbles: true
cancelable: true
char: undefined
charCode: 0
ctrlKey: false
currentTarget: document
data: undefined
delegateTarget: document
eventPhase: 3
handleObj: Object
isDefaultPrevented: function ot(){return!1}
jQuery19106670567644760013: true
key: undefined
keyCode: 69
metaKey: false
originalEvent: KeyboardEvent
relatedTarget: undefined
shiftKey: false
target: body
timeStamp: 1367933052234
type: "keyup"
view: Window
which: 69

您需要 keyCode(在本例中为 69)、shifKey、altKey、ctrlKey。示例:如果您按 shift+向右箭头,您将获得 keyCode:3, shiftKey:true。

function on_key_up(event)
{
if(event.shiftKey) // action

}

希望这对您有所帮助。

关于javascript - 在 Javascript 事件中捕获特殊键和键大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16405432/

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