2010-08-22 14 views
0

J'utilise YUI 3.1 Library de Yahoo et aussi TextExpander pour laisser une TextArea se développer quand un type d'utilisateur.Comment faire pour réduire une TextArea

Le code ci-dessous initialize TextArea:

YUI({gallery: 'gallery-2010.03.23-17-54' 
    }).use("node", 'gallery-text-expander', function(Y) { 
    Y.one('#myTextArea').plug(Y.TextExpander); 
}); 

C'est un travail parfaitement, mais maintenant j'ai une question dans ce scénario:

1) Le type d'utilisateur, le TextArea grandir pour de nombreuses lignes puis le message est envoyé au serveur.

2) Après le poste, nettoyer le TextArea avec $('myTextArea').value='' mais il est rétrécis pas comme prévu et ont encore beaucoup de lignes quand en temps réel doit revenir à 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 astuces.

Répondre

0

Eh bien, j'ai résolu le problème moi-même. Donc, au lieu d'essayer d'appeler la méthode interne de la classe branché (qui était agréable de savoir comment faire, probablement en utilisant un espace de noms personnalisé) j'ai écrit une petite fonction qui fait l'affaire.

1) tout d'abord i définir la propriété CSS min-height dans la classe

2) après clairement la TextArea i mis le height comme min-hauteur

le code indiqué ci-dessous la fonction qui ne le truc

function shrinkTextArea(element) { 
    // clear 
    $(element).value =''; 

    // shrink 
    $(element).style.height = $(element).style.minHeight; 
} 
0

Textarea a rows et cols propriétés pour changer la taille. Essayez de les définir.

+1

Merci pour votre conseil, mais je préfère utiliser le CSS et votre suggestion m'a donné une idée de la façon de résoudre ce problème. Mon but était d'essayer d'appeler une méthode interne de la classe branchée, mais à la fin j'ai écrit quelques lignes de codes comme réponse. Merci!! –