如何在按键时获得优先选择(防止显示“添加书签"对话框) [英] How to get first pick at keydown (preventing "add bookmark" dialog from showing)

查看:98
本文介绍了如何在按键时获得优先选择(防止显示“添加书签"对话框)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的jQuery应用程序中有一个复选框,您可以选中该复选框以复制<div>.我现在想为该操作创建一个 Ctrl + D 快捷方式.我可以通过以下方式感知 Ctrl + D :

$(document).on('keydown',function(e) {  
    debugger;
    if((e.keyCode == 68) && e.ctrlKey){
        $('.duplicate').trigger('click');
    }
});  

但是,看来Firefox会先捕获 Ctrl + D ,然后弹出一个对话框来编辑书签".

如何首先获得中断,然后在完成后将其杀死?我不希望我的用户每次输入 Ctrl + D 时都不必关闭Firefox对话框.

解决方案

尝试使用e.preventDefault();:

$(document).on('keydown',function(e) {  
    //debugger;
    if((e.keyCode == 68) && e.ctrlKey){
        $('.duplicate').trigger('click');
        e.preventDefault();
    }
});  

请参见 演示页面此处 (编辑演示

How can I get the interrupt first, and then I'll kill it when I'm done? I don't want my users to have to dismiss a Firefox dialog every time they enter Ctrl+D.

解决方案

Try using e.preventDefault();:

$(document).on('keydown',function(e) {  
    //debugger;
    if((e.keyCode == 68) && e.ctrlKey){
        $('.duplicate').trigger('click');
        e.preventDefault();
    }
});  

See demo page here (edit the demo here).

On a side note, it is not a good usability practice to override widely-known keys/commands. While you can achieve that, it is advisable and better to use another combination of keys.

这篇关于如何在按键时获得优先选择(防止显示“添加书签"对话框)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆