Maison >interface Web >tutoriel CSS >Comment puis-je styliser sélectivement des parties de la valeur d'un champ de saisie avec JavaScript ?

Comment puis-je styliser sélectivement des parties de la valeur d'un champ de saisie avec JavaScript ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-11 18:00:26300parcourir

How Can I Selectively Style Portions of an Input Field's Value with JavaScript?

Style des parties des valeurs des champs de saisie

L'amélioration de l'esthétique des champs de saisie est une tâche courante dans le développement Web. Un scénario intrigant consiste à styliser de manière sélective des parties de la valeur d'un champ de saisie au fur et à mesure que l'utilisateur les tape. Bien qu'un tel style puisse sembler simple au départ, les navigateurs appliquent des styles de manière cohérente sur l'ensemble de l'élément d'entrée.

Pour contourner cette limitation et créer l'effet souhaité, une solution plus complexe est nécessaire. JavaScript est un outil approprié pour cette tâche, nous permettant de manipuler l'élément d'entrée de manière dynamique. L'essentiel est de subdiviser le champ de saisie en trois sections distinctes :

  • avant : Texte avant la position actuelle du curseur de l'utilisateur
  • édité : Texte à la position actuelle du curseur de l'utilisateur
  • après : Texte après le position actuelle du curseur de l'utilisateur

En utilisant JavaScript, nous pouvons insérer des éléments span autour de ces trois sections et appliquer les styles souhaités en conséquence. Cette approche crée efficacement un champ de saisie simulé qui émule la fonctionnalité de style que nous recherchions.

Prenons l'exemple de balisage suivant :

<div class="input">
  <span class="nonEdited before">foo</span>
  <span class="edited">fizz</span>
  <span class="nonEdited after">bar</span>
</div>

En surveillant les interactions des utilisateurs telles que les clics, les appuis au clavier et les appuis sur les touches, JavaScript peut ajuster en permanence le balisage pour représenter correctement les trois sections de texte. Cela permet de styliser en temps réel le contenu du champ de saisie, obtenant finalement l'effet de styliser sélectivement des parties de la valeur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn