Is it possible to capture these shortcuts?
- Ctrl+N
- Ctrl+T
- Ctrl+W
I tried this but it doesn’t work:
$(window).keydown(function(event) {
console.log(event.keyCode);
event.preventDefault();
});
When I press T it shows 84 in the console, but if I press Ctrl+T it shows nothing, and opens a new tab.
I would like to capture these shortcuts and prevent any browser action.
Capturing Ctrl keyboard events in Javascript
Sample code:
Firefox
(6.0.1 tested)
In Firefox both event listener works. If you press CtrlT or CtrlS keycombinations, you will get both message on the console, and the browser wont open a tab, nor ask for save.
It is intresting that if you use
alertinstead ofconsole.logtheevent.preventDefault()not works, and opens a new tab or asks for save. Maybe this bug needs to get fixed.Chrome3
In Chrome 3 it works like in Firefox.
Chrome4
(tested)
In Chrome 4 it works similary to Firefox, except some keyboard combination:
CtrlN
CtrlShiftN
CtrlT
CtrlShiftT
CtrlW
CtrlShiftW
These combinations cannot get captured by Javascript, but embed plugins can capture these. For example if you focus in a Youtube video and press CtrlT, the browser won’t open a new tab.
IE7/8
It works like in Firefox or Chrome3.
IE9
(tested)
IE9 is a black sheep again, because it dosen’t allow javascript to capture any Ctrl? keyboard event. I tested with many keyboard combination (R,T,P,S,N,T) and neither worked. Also embed applications can’t capture the event. Tested with Youtube videos.
Thanks to @Lime for the great link.