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!