【问题标题】:Override CMD+N or CTRL+N shortcuts in javascript/jquery?在 javascript/jquery 中覆盖 CMD+N 或 CTRL+N 快捷键?
【发布时间】:2017-12-31 11:10:33
【问题描述】:

我正在开发一个网络应用程序,我想覆盖 CTRL+N (windows) CMD+N (mac) 快捷方式,这样它们就不会打开新窗口。我希望触发自定义事件。

$(window).bind( 'keydown', function(e) {
    if(e.ctrlKey && e.keyCode === 'N'.charCodeAt(0)){
        e.preventDefault();
        // custom trigger
    }
});

感谢您的帮助!

【问题讨论】:

标签: javascript jquery windows macos keyboard-shortcuts


【解决方案1】:

请试试这个

<script>
window.addEventListener('keyup', function(e) {
if (e.keyCode === KeyCode.KEY_RETURN) {
    console.log('It was the Return key.');
} else {
    console.log('It was any other key.');
}
});
<script>

<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

<script>
    var pKey;
    $(function () {
        $(window).keydown(function (e) {
            if (e.which == 17) {
                pKey = e.keyCode;
            }
            else {
                if (pKey == 17 && e.keyCode == 78) {
                    e.preventDefault();
                    console.log(e);
                }
            }
        });
    });
</script>
</head>
<body>

 <div class="container">
   <h2>Well</h2>

   <div class="well">Hello G...</div>
 </div>

 </body>
 </html>

【讨论】:

  • 第二个脚本只有在你同时按下 Ctrl+N 时才能正常工作
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多