Mes utilisateurs aimeraient pouvoir appuyer sur Ctrl+ Spour enregistrer un formulaire. Existe-t-il un bon moyen pour plusieurs navigateurs de capturer la combinaison de touches Ctrl+ Set d'envoyer mon formulaire?
L'application est basée sur Drupal, donc jQuery est disponible.
javascript
jquery
ceejayoz
la source
la source
keydown
au lieu dekeypress
dans chromeCela fonctionne pour moi (en utilisant jquery) pour surcharger Ctrl+ S, Ctrl+ Fet Ctrl+ G:
la source
window.addEventListener(
place de$(window).bind(
else if
ne fonctionnera pas car laif
déclaration d' origine sera déjà évaluée comme vraie. Vous devrez mettre votre code avant l'if
instruction d' origine , en transformant l'original en un fichierelse if
.Vous pouvez utiliser une bibliothèque de raccourcis pour gérer les éléments spécifiques au navigateur.
la source
Cette solution jQuery fonctionne pour moi dans Chrome et Firefox, à la fois pour Ctrl+ Set Cmd+ S.
la source
e.key
au lieu dee.which
;Celui-ci a fonctionné pour moi sur Chrome ... pour une raison quelconque,
event.which
renvoie un S majuscule (83) pour moi, je ne sais pas pourquoi (quel que soit l'état du verrouillage des majuscules), alors j'ai utiliséfromCharCode
ettoLowerCase
juste pour être du bon côtéSi quelqu'un sait pourquoi j'obtiens 83 et non 115 , je serai heureux d'entendre, même si quelqu'un teste cela sur d'autres navigateurs, je serai heureux de savoir si cela fonctionne ou non
la source
J'ai combiné quelques options pour prendre en charge FireFox, IE et Chrome. Je l'ai également mis à jour pour mieux supporter mac
la source
J'aimerais que les applications Web ne remplacent pas mes touches de raccourci par défaut, honnêtement. Ctrl+ fait Sdéjà quelque chose dans les navigateurs. Avoir ce changement brusquement en fonction du site que je consulte est perturbant et frustrant, sans parler de souvent bogué. J'ai eu des sites détournés Ctrl+ Tabparce qu'il ressemblait à Ctrl+ I, à la fois ruinant mon travail sur le site et m'empêchant de changer d'onglet comme d'habitude.
Si vous voulez des touches de raccourci, utilisez l'
accesskey
attribut. Veuillez ne pas interrompre les fonctionnalités existantes du navigateur.la source
@Eevee: Alors que le navigateur devient le foyer de fonctionnalités plus riches et plus riches et commence à remplacer les applications de bureau, ce ne sera tout simplement pas une option pour renoncer à l'utilisation des raccourcis clavier. L'ensemble riche et intuitif de commandes clavier de Gmail a contribué à ma volonté d'abandonner Outlook. Les raccourcis clavier de Todoist, Google Reader et Google Agenda me facilitent beaucoup la vie au quotidien.
Les développeurs doivent absolument veiller à ne pas remplacer les frappes qui ont déjà une signification dans le navigateur. Par exemple, la zone de texte WMD dans laquelle je tape interprète inexplicablement Ctrl+ Delcomme "Blockquote" plutôt que "delete word forward". Je suis curieux de savoir s'il existe quelque part une liste standard de raccourcis «sûrs pour le navigateur» que les développeurs de sites peuvent utiliser et que les navigateurs s'engageront à éviter dans les versions futures.
la source
Ceci est une version à jour de la réponse de @ AlanBellows, remplacée
which
parkey
. Cela fonctionne également même avec le pépin de touche majuscule de Chrome (où si vous appuyez sur Ctrl+, Sil envoie un S majuscule au lieu de s). Fonctionne dans tous les navigateurs modernes.la source
C'était ma solution, qui est beaucoup plus facile à lire que d'autres suggestions ici, peut facilement inclure d'autres combinaisons de touches et a été testée sur IE, Chrome et Firefox:
la source
String.fromCharCode
. Cependant, les Mac n'ont pas de clé de contrôle. Testez la touche de commande avecevt.metaKey
. Il revienttrue
pour Cmd sur Mac et Win sur Windows.J'aime ce petit plugin . Il faut cependant un peu plus de convivialité entre les navigateurs.
la source
Cela devrait fonctionner (adapté de https://stackoverflow.com/a/8285722/388902 ).
la source
exemple:
usage
lien pour téléchargement: http://www.openjs.com/scripts/events/keyboard_shortcuts/#
la source
À Alan Bellows réponse:! (E.altKey) ajouté pour les utilisateurs qui utilisent AltGrlors de la frappe (par exemple, la Pologne). Sans cette pression, AltGr+ Sdonnera le même résultat que Ctrl+S
la source
Ce plugin créé par moi peut être utile.
Brancher
Vous pouvez utiliser ce plugin, vous devez fournir les codes clés et la fonction à exécuter comme ceci
Dans le code, j'ai montré comment effectuer pour Ctrl+ S. Vous obtiendrez une documentation détaillée sur le lien. Le plugin est dans la section Code JavaScript de mon stylo sur Codepen.
la source
J'ai résolu mon problème sur IE , en utilisant un
alert("With a message")
pour empêcher le comportement par défaut:la source