Comment réduire un TextArea
-
30-09-2019 - |
Question
J'utilise YUI 3.1 Bibliothèque de Yahoo et aussi le TextExpander pour laisser un TextArea grandir quand un type d'utilisateur.
Le code ci-dessous initialiser le TextArea:
YUI({gallery: 'gallery-2010.03.23-17-54'
}).use("node", 'gallery-text-expander', function(Y) {
Y.one('#myTextArea').plug(Y.TextExpander);
});
Le travail est parfaitement mais maintenant j'ai une question dans ce scénario:
1) Le type d'utilisateur, le TextArea grandir pour de nombreuses lignes et le message est message au serveur.
2) Après le poste, je nettoyer le TextArea avec $('myTextArea').value=''
mais il est rétrécit pas comme prévu et ont encore beaucoup de lignes lorsque dans le dos réel doit à la taille d'origine.
Je remarque à l'intérieur du code du TextExpander ( http://yuilibrary.com/gallery/buildtag/text-expander/gallery-2010.03.23-17-54 ) existe une méthode appelée « shrink_area
» mais comment je peux appeler cette méthode
$('myTextArea').shrink_area()
?
(je sais est une mauvaise ligne de code, mais je dois obtenir quelque chose comme ça) ou quelle est la meilleure façon?
Merci d'avance pour les suggestions et conseils.
La solution 2
Eh bien je me résolu le problème.
Ainsi, au lieu d'essayer d'appeler la méthode interne de la classe branchée ( qui était agréable de savoir comment faire, en utilisant probablement une coutume espace de noms ) je l'ai écrit une petite fonction qui l'affaire.
1) Tout d'abord i de tout définir la propriété CSS min-height
dans la classe
2) après effacer le TextArea i mis le height
comme min-hauteur
le code ci-dessous montre la fonction que faire l'affaire
function shrinkTextArea(element) {
// clear
$(element).value ='';
// shrink
$(element).style.height = $(element).style.minHeight;
}
Autres conseils
Textarea a des propriétés de rows
et cols
pour changer la taille. Essayez de régler ces derniers.