是否可以捕获这些快捷方式?
Ctrl
N
T
W
我试过了,但是没有用:
$(window).keydown(function(event) { console.log(event.keyCode); event.preventDefault(); });
当我按下T它时,它会显示84在控制台中,但是如果按下Ctrl+,T它什么都不会显示,并打开一个新选项卡。
84
我想捕获这些快捷方式并阻止任何浏览器操作。
$(window).keydown(function(event) { if(event.ctrlKey && event.keyCode == 84) { console.log("Hey! Ctrl+T event captured!"); event.preventDefault(); } if(event.ctrlKey && event.keyCode == 83) { console.log("Hey! Ctrl+S event captured!"); event.preventDefault(); } });
(已测试6.0.1)
在Firefox中,两个事件侦听器均有效。如果按Ctrl``T或键Ctrl``S组合,则将在控制台上同时显示两条消息,并且浏览器不会打开选项卡,也不会要求保存。
Ctrl``T
Ctrl``S
这是intresting,如果你使用alert的不是console.log的event.preventDefault()不是的作品,并打开一个新的标签,或者要求保存。可能需要修复此错误。
alert
console.log
event.preventDefault()
在Chrome 3中,它的工作方式类似于Firefox。
(已测试)
在Chrome4中,某些控制键组合仅保留供浏览器使用,并且不能再由网页中的客户端JavaScript拦截。 这些限制在Chrome3中不存在,并且与Firefox3 / 3.5和IE7 / 8(在Windows上)均不一致。
在Chrome 4中,除了某些键盘组合外,它的工作方式与Firefox类似:
Ctrl``N
Ctrl``Shift``N
Ctrl``Shift``T
Ctrl``W
Ctrl``Shift``W
这些组合不能被Javascript捕获, 但是 嵌入插件可以捕获这些组合。例如,如果您聚焦于YouTube视频并按Ctrl``T,则浏览器将不会打开新标签。
它的工作方式类似于Firefox或Chrome3。
IE9再次成为败类,因为它不允许javascript捕获任何Ctrl``?键盘事件。我测试了许多键盘组合(R,T,P,S,N,T),但都没有用。嵌入的应用程序也无法捕获事件。经过YouTube视频测试。
Ctrl``?