198 votes

Utilisez l’onglet mettre en retrait dans textarea

J’ai un textarea html simple de mon côté. Maintenant, si vous cliquez sur l’onglet dedans, il va au champ suivant. Je voudrais faire le bouton de l’onglet de retrait des quelques espaces à la place. Comment est-ce que je peux faire cela ? Merci.

186voto

kasdega Points 4266

S’inspirant fortement d’autres réponses à des questions similaires (affichées ci-dessous)...

jQuery : Comment faire pour capturer les keypress onglet dans un contrôle Textbox

Comment gérer les dans textarea ?

http://jsfiddle.net/jz6J5/

62voto

user1949974 Points 61
<pre><code></code><p>Cette solution ne nécessite pas de jQuery et permettra aux fonctionnalités d’onglet sur tous les textareas sur une page.</p></pre>

58voto

Will Martin Points 2184

Comme d'autres l'ont écrit, vous pouvez utiliser JavaScript pour capturer l'événement, à en prévenir l'action par défaut (de sorte que le curseur ne se déplace pas vers la mise au point) et insérer un caractère de tabulation.

Mais, en désactivant le comportement par défaut fait qu'il est impossible de déplacer le focus hors de la zone de texte sans l'aide d'une souris. Aveugle aux utilisateurs d'interagir avec des pages web à l'aide du clavier et rien d'autre, ils ne peuvent pas voir le pointeur de la souris pour faire quelque chose d'utile avec elle, il est donc clavier ou rien. La touche de tabulation est le principal moyen pour naviguer dans le document, et en particulier les formes. Écrasez le comportement par défaut de la touche de tabulation, il sera impossible pour les utilisateurs aveugles pour déplacer le focus vers le prochain élément de formulaire.

Donc, si vous êtes à la rédaction d'un site web pour un large public, je le recommande contre cela sans une impérieuse raison, et de fournir une sorte d'alternative pour les utilisateurs aveugles qui n'a pas de piège dans le textarea.

9voto

stovroz Points 1486

Je voulais en venir nulle part rapide essaie d’utiliser la réponse de @kasdega en milieu AngularJS, rien j’ai essayé semblait en mesure de faire les angulaire à agir sur le changement. Alors, si elle n’est d’aucune utilité pour les passants, voici une réécriture du code de @kasdega, style AngularJS, qui a fonctionné pour moi :

et :

6voto

Aziz Shaikh Points 9511

Vous devez écrire du code JS pour attraper Appuyez sur la touche TAB et insérer un tas d’espaces. Fait quelque chose de semblable à ce que JSFiddle.

Vérifiez jquery fiddle:

HTML:

JavaScript:

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X