Maison >interface Web >js tutoriel >Comment redimensionner automatiquement les zones de texte avec un prototype ?
Redimensionnement automatique des zones de texte avec prototype
Développant l'idée d'améliorer l'expérience utilisateur en redimensionnant automatiquement les zones de texte, cet article se penche sur un solution utilisant le framework Prototype JavaScript. L'objectif est d'ajuster la hauteur de la zone de texte en fonction de la quantité de texte qu'elle contient, améliorant ainsi l'esthétique et la lisibilité.
Redimensionnement vertical avec prototype
Le prototype fournit un moyen pratique d'atteindre ce comportement. Une fois la bibliothèque Prototype chargée, vous pouvez implémenter le script suivant :
resizeIt = function() { var str = $('iso_address').value; // Replace 'iso_address' with your textarea ID var cols = $('iso_address').cols; var linecount = 0; $A(str.split("\n")).each(function(l) { linecount += 1 + Math.floor(l.length / cols); // Consider long lines }) $('iso_address').rows = linecount; };
Liaison aux événements
Pour déclencher l'ajustement de la zone de texte lors de la saisie de l'utilisateur, vous pouvez lier la fonction resizeIt à un gestionnaire d'événements. Par exemple, pour redimensionner lors d'une saisie au clavier :
Event.observe('iso_address', 'keydown', resizeIt);
Explication
La fonction resizeIt :
Redimensionnement horizontal
Bien que cette approche gère le redimensionnement automatique vertical, le redimensionnement horizontal n'est généralement pas recommandé en raison de la nature imprévisible du retour à la ligne et de la longueur des lignes. Cependant, si vous le souhaitez, vous pouvez explorer des solutions personnalisées ou des bibliothèques externes qui prennent en compte de telles complexités.
Conseils supplémentaires
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!