Je voudrais pouvoir utiliser la Tabclé dans une zone de texte pour tabuler sur quatre espaces. Dans l'état actuel des choses, la touche Tab fait passer mon curseur à l'entrée suivante.
Existe-t-il du JavaScript qui capturera la touche Tab dans la zone de texte avant de remonter dans l'interface utilisateur?
Je comprends que certains navigateurs (par exemple, FireFox) peuvent ne pas permettre cela. Que diriez-vous d'une combinaison de touches personnalisée comme Shift+ Tabou Ctrl+ Q?
javascript
user-interface
Seibar
la source
la source
Réponses:
Même si vous capturez l' événement
keydown
/keyup
, ce sont les seuls événements déclenchés par la touche de tabulation, vous avez toujours besoin d'un moyen d'empêcher l'action par défaut, le passage à l'élément suivant dans l'ordre de tabulation, de se produire.Dans Firefox, vous pouvez appeler la
preventDefault()
méthode sur l'objet événement passé à votre gestionnaire d'événements. Dans IE, vous devez retourner false à partir du handle d'événement. La bibliothèque JQuery fournit unepreventDefault
méthode sur son objet événement qui fonctionne dans IE et FF.la source
keycode
8
?Je préfère que l'indentation de tabulation ne fonctionne pas que de rompre la tabulation entre les éléments du formulaire.
Si vous souhaitez mettre en retrait pour mettre du code dans la zone Markdown, utilisez Ctrl+ K(ou ⌘K sur un Mac).
En termes d'arrêt de l'action, jQuery (que Stack Overflow utilise) arrêtera un événement de bouillonner lorsque vous retournerez false à partir d'un rappel d'événement. Cela facilite la vie pour travailler avec plusieurs navigateurs.
la source
La réponse précédente est bonne, mais je suis l'un de ces gars qui est fermement contre le mélange de comportement et de présentation (mettre JavaScript dans mon HTML), donc je préfère mettre ma logique de gestion d'événements dans mes fichiers JavaScript. De plus, tous les navigateurs n'implémentent pas l'événement (ou e) de la même manière. Vous souhaiterez peut-être effectuer une vérification avant d'exécuter une logique:
la source
Je déconseille de modifier le comportement par défaut d'une clé. Je fais autant que possible sans toucher une souris, donc si vous ne déplacez pas ma touche de tabulation vers le champ suivant sur un formulaire, je serai très agacé.
Une touche de raccourci peut cependant être utile, en particulier avec de gros blocs de code et l'imbrication. Shift-TAB est une mauvaise option car cela m'amène normalement au champ précédent d'un formulaire. Peut-être qu'un nouveau bouton sur l'éditeur WMD pour insérer un code-TAB, avec une touche de raccourci, serait-il possible?
la source
il y a un problème dans la meilleure réponse donnée par ScottKoon
c'est ici
Devrait être
Pour cette raison, cela ne fonctionnait pas dans IE. En espérant que ScottKoon mettra à jour le code
la source
Dans Chrome sur Mac, alt-tab insère un caractère de tabulation dans un
<textarea>
champ.En voici un:. Pipi!
la source