如何在按键时获得优先选择(防止显示“添加书签"对话框) [英] How to get first pick at keydown (preventing "add bookmark" dialog from showing)
本文介绍了如何在按键时获得优先选择(防止显示“添加书签"对话框)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的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屋!
查看全文