gpt4 book ai didi

javascript - 如何在 Javascript 中处理 ctrl+arrow?

转载 作者:数据小太阳 更新时间:2023-10-29 04:07:35 26 4
gpt4 key购买 nike

我在尝试捕捉键盘快捷键时注意到一个问题:CTRL + 箭头。

我已经处理了 keydown 事件。现在,当我按住 CTRL 键时,会触发一次 keydown 事件。如果我按住箭头(所以现在我按住 CTRL + 箭头)它不会触发另一个事件。是否出于任何原因被禁止?我想几年前我已经在 Opera 中遇到过这个问题,并且在浏览器中有一个选项。

我的结果:

  • 按住 CTRL,按下箭头 -- CTRL 触发事件,箭头不触发事件

  • 同时按下 CTRL + 一个箭头 -- 触发一个事件,但仅使用键码 CTRL

  • 按住 CTRL,按一个字母(例如 S)——按预期工作

  • CTRL + 字母(例如 S)——按预期工作

(在 Chrome 和 Firefox 中的结果是相同的。上述行为是标准的吗?)

我正在使用:

  • 函数 OnKeyDown(e) { }
  • e.ctrlKey, e.事件属性

问题是:可能是什么问题?

最佳答案

您应该检查 event.ctrlKey flag 为真,像这样:

document.getElementById('element').onkeydown = function (e) { 
e = e || window.event;
var keyCode = e.keyCode || e.which,
arrow = {left: 37, up: 38, right: 39, down: 40 };

if (e.ctrlKey) {
switch (keyCode) {
case arrow.left:
//... handle Ctrl-LeftArrow
break;
//...
}
}
};

检查示例 here .

关于javascript - 如何在 Javascript 中处理 ctrl+arrow?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2693526/

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