Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Overriding control+s (save functionality) in browser

I am trying to override the browser save shortcut i.e(cntrl + s) to give the functionality of save in my web App , I am using google chrome ... I tried keydown listner to observe the keycode but when two keys i.e (cntrl + s) are pressed simultaneously , keycode of s is never returned in event object .

Thanks in Advance

Trax

like image 304
Vinay Verma Avatar asked Dec 15 '10 05:12

Vinay Verma


1 Answers

You receive two keydown events: The first is for the control key, and the second is for the letter with the modifier flag turned on. Here's how you listen for a key with a modifier pressed:

document.addEventListener("keydown", function(e) {   if (e.keyCode == 83 && (navigator.platform.match("Mac") ? e.metaKey : e.ctrlKey)) {     e.preventDefault();     // Process event...   } }, false); 

Taking a page from Google Docs, it uses Cmd-S on Mac and Ctrl-S on other platforms.

like image 140
Josh Lee Avatar answered Oct 03 '22 11:10

Josh Lee