【问题标题】:How to prevent default Shortcut alt+b by Firefox and IE via JS?如何通过 JS 防止 Firefox 和 IE 的默认快捷方式 alt+b?
【发布时间】:2017-06-17 02:10:52
【问题描述】:

我需要实现一个快捷键alt+b,调用一个函数。我的问题是,每次我按下此快捷方式时,Firefox 和 IE 都会打开菜单栏“编辑”。是否有任何解决方案可以防止这种默认行为?或者也许可以在调用函数后关闭这个菜单栏?

我尝试过但没有成功

     $(document).keydown(function(e) {

         if (e.keyCode == 18 || e.which==18)
         {
            e.preventDefault(); 
         }           
      });

【问题讨论】:

    标签: javascript jquery shortcut


    【解决方案1】:

    试试这个,如果你点击 Alt+B,它只会运行console.log()。用你想要的任何东西替换控制台。

    $(window).keydown(function(event) {
      if(event.altKey && event.keyCode == 66) { 
        event.preventDefault(); 
        console.log("Hey! alt+B event captured!");
      }
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

    【讨论】:

    • 我试过了,但没有成功。我试图调试一个 .js 文件,我得到了这个...i.stack.imgur.com/YwcxB.jpg KeyCode 是 18 (ALT)
    【解决方案2】:

    这似乎对我有用:

    $(document).keydown(function(e) {
    
        // check for alt+b
        if (e.keyCode == 66 && e.altKey === true) {
            e.preventDefault(); 
        }
    });
    

    您需要查看b 的新闻,而不是alt

    【讨论】:

    • 我试过了,但没有成功。我试图调试一个 .js 文件,我得到了这个...i.stack.imgur.com/YwcxB.jpg KeyCode 是 18 (ALT)
    • 你能举一个活生生的例子吗?例如使用 JSFiddle。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-27
    相关资源
    最近更新 更多