Javascript捕获ctrl+;alt+;C
在我的web应用程序中,我想使用ctrl+alt+c作为热键 我读了很多关于堆栈溢出的文章,并提出了以下解决方案Javascript捕获ctrl+;alt+;C,javascript,jquery,key-bindings,hotkeys,Javascript,Jquery,Key Bindings,Hotkeys,在我的web应用程序中,我想使用ctrl+alt+c作为热键 我读了很多关于堆栈溢出的文章,并提出了以下解决方案 $(document).keydown(function(e){ if(e.ctrlKey && e.altKey && e.which == 99){ e.preventDefault(); window.prompt("Copy to clipboard: Ctrl+C, Enter", text); } });
$(document).keydown(function(e){
if(e.ctrlKey && e.altKey && e.which == 99){
e.preventDefault();
window.prompt("Copy to clipboard: Ctrl+C, Enter", text);
}
});
这在chrome中不起作用。我试过调试
我注意到的是,只要我按下ctrl键,它就开始工作,好像条件失败了,它就出来了
我如何才能让它工作。使用事件
键代替
您的代码中有两个错误
1st : keycode of c is 67
2nd : text variable is undefined.
所以最后的代码是
$(document).keydown(function(e){
if(e.ctrlKey && e.altKey && e.which == 67){
e.preventDefault();
prompt("Copy to clipboard: Ctrl+C, Enter","text");
}
});
你可以检查小提琴也许你会对e感兴趣。对于c
来说,哪个是67
,而不是99
。我不明白你的意图吗?拨弄之前的评论(太晚了,无法编辑)怪异。。。在你的摆弄下,我可以让“失败”出现,但不能让成功出现。当我按下ctrl+alt+c时,我什么也得不到,没有失败,没有成功。没有道理。铬测试。可能chrome正在使用该组合键?哪个浏览器/版本?我在IE 11、Firefox最新版本、Chrome 32、Chrome 31.0.1650.63版本上进行了测试,ctrl+任何东西都不会触发该事件。但它确实使用了keydown。即使没有它,按下ctrl键时也不会触发。
$(document).keydown(function(e){
if(e.ctrlKey && e.altKey && e.which == 67){
e.preventDefault();
prompt("Copy to clipboard: Ctrl+C, Enter","text");
}
});