javascript - 如何检测按键事件(ctrl+e)

标签 javascript

我正在尝试检测 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>

最佳答案

您需要使用e.ctrlKey来检查是否Ctrlis 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(); 
    }
}

关于javascript - 如何检测按键事件(ctrl+e),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35885771/

相关文章:

javascript - Next.js with Auth0 (using Passport.js) on Serverless Function

javascript - knockout 选择数据绑定(bind)

javascript - gm node.js 无法调整大文件大小的图像

javascript - 无法使用 AngularJS 将对象传递到 Web 后端

php - AJAX + PHP 数据搜索

php - Tagmanager Jquery - ajax 文件必须是什么样子?

JavaScript 未加载

javascript - 从计算属性访问 Knockout Observable 属性会出现 TypeError

javascript - 脚本标签文本/babel 变量范围

Javascript重载点