2010-12-15 8 views
22

Je suis en train de remplacer le navigateur enregistrer le raccourci c.à.d. (cntrl + s) pour donner la fonctionnalité d'enregistrer dans mon application web, j'utilise google chrome ... J'ai essayé le clavier Le listeur peut observer le code clé mais lorsque deux touches ie (cntrl + s) sont pressées simultanément, keycode de s n'est jamais retourné dans l'objet événement.Redéfinir le contrôle + s (enregistrer les fonctionnalités) dans le navigateur

Merci à l'avance

Trax

Répondre

31

Vous recevez deux événements keydown: La première est la clé de commande, et le second est la lettre avec le drapeau de modificateur activé. Voici comment vous écoutez une clé avec un modificateur pressé:

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

Prendre une page de Google Docs, il utilise Cmd-S sur Mac et Ctrl-S sur d'autres plates-formes.

Questions connexes