【问题标题】:How to detect key press event (ctrl+e) [duplicate]如何检测按键事件(ctrl+e)[重复]
【发布时间】:2016-03-09 15:46:34
【问题描述】:

我正在尝试在 java 脚本中检测 ctr l+e 的事件。我的代码在下面给出。我分别收到 ctr l 和 e 键操作的警报,但是当我将这两个条件放在 and 逻辑中时,我没有得到任何输出。有什么建议我做错了吗?

 <script type="text/javascript">
        document.onkeydown = function(evt) {
    evt = evt || window.event;
    if (evt.keyCode == 17  && evt.keyCode == 69) {
        alert("ctrl-e is pressed");
          event.preventDefault(); 
    }
}
    </script>

【问题讨论】:

  • evt.keyCode == 17 &amp;&amp; evt.keyCode == 69 永远不会是真的。一个属性或变量不能同时有两个不同的值。

标签: javascript


【解决方案1】:

您需要使用e.ctrlKey 来检查是否Ctrl is pressed。而onkeypress 不是onkeydown。检查更新的代码:

document.onkeypress = function(evt) {
  var e = evt || window.event;
    if (e.ctrlKey && e.keyCode == 69) {
      alert("ctrl-e is pressed");
      e.preventDefault(); 
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-07
    • 2020-11-16
    • 2018-02-16
    相关资源
    最近更新 更多