Maison  >  Article  >  interface Web  >  Comment implémenter des zones de texte à redimensionnement automatique à l'aide d'un prototype JavaScript ?

Comment implémenter des zones de texte à redimensionnement automatique à l'aide d'un prototype JavaScript ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-20 21:27:02171parcourir

How to Implement Auto-Resizing TextAreas Using Prototype JavaScript?

Comment redimensionner automatiquement une zone de texte à l'aide d'un prototype

Pour une expérience utilisateur visuellement attrayante, vous souhaiterez peut-être une zone de texte qui ajuste sa hauteur en fonction de son contenu textuel. Ci-dessous, nous explorons une solution utilisant le framework Prototype JavaScript.

Redimensionnement vertical

Le redimensionnement vertical est une implémentation courante, comme le démontre Facebook lors de la modification des publications sur le mur. Il garantit que la zone de texte s'adapte à tout le texte sans espacement excessif.

Implémentation JavaScript

Voici un extrait de code JavaScript présentant le dimensionnement automatique vertical à l'aide du prototype :

resizeIt = function() {
  var str = $('textarea-id').value;
  var cols = $('textarea-id').cols;
  var linecount = 0;

  $A(str.split("\n")).each(function(l) {
    linecount += 1 + Math.floor(l.length / cols); // Consider long lines
  })

  $('textarea-id').rows = linecount;
};

Utilisation

Pour implémenter le dimensionnement automatique, vous pouvez l'attacher à l'événement 'keydown' d'un élément de zone de texte spécifique comme ceci :

Event.observe('textarea-id', 'keydown', resizeIt );

Redimensionnement horizontal

Le redimensionnement horizontal n'est pas recommandé en raison de problèmes potentiels de retour à la ligne, de longues lignes et d'autres problèmes de mise en page.

Conclusion

Le dimensionnement automatique des zones de texte à l'aide de JavaScript offre une interface plus dynamique et conviviale. Le code fourni utilisant Prototype est une solution simple et efficace pour le redimensionnement vertical. Cependant, gardez à l’esprit les limites et les défis potentiels du redimensionnement horizontal lorsque vous envisagez votre mise en œuvre.

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