在 js/jQuery 中有没有办法拥有这两种按键组合?
ESCape 键
和
SHIFT + ESCape 键
当我实现它时使用:
document.onkeydown = function(e){if (e == null) {keycode = event.keyCode;}
else {keycode = e.which;}
if(keycode == 27){closeAll();}}
//upon pressing shift + esc
$(document).bind('keypress',function(event)
{
if(event.which === 27 && event.shiftKey)
{
closetogether();
}
});
escape 按钮工作得很好,但我认为带有 shift + esc 的按钮变得困惑,因为它什么都不做。不用担心,当我将组合键 27 更改为 90 (z) 时,该功能可以正常工作。
有人可以选择我更好的方法吗?
最佳答案
为什么不使用 jQuery 绑定(bind) keydown
事件?这样你就已经有了一个规范化的事件变量。您还可以在同一处理程序中检查 shift 键的状态。
这些事件发回不同的键码。使用 keyup/keydown
通过扫描码捕获某些键,使用 keypress
通过字符捕获实际输入的文本。
$(document).bind('keydown', function(event) {
if(event.which === 27){
if(event.shiftKey){
closetogether();
} else {
closeAll();
}
}
});
关于javascript - 使用 JS/jQuery 组合按键(Escape & Shift +Escape),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6148691/