Dynamiquement Défilement du contenu d'un Textarea
J'ai un textarea élément html sur ma page, qui obtient rechargées via ajax. L'ensemble du textarea est retourné à chaque fois et pas seulement son contenu, et le contenu se développe au fil du temps. Avec le textarea-je retourner le morceau suivant du javascript:
<script type="text/javascript" >
var textArea = document.getElementById('outputTextResultsArea');
textArea.scrollTop = textArea.scrollHeight;
</script>
Dans firefox 3.0.7 cela place la barre de défilement au bas de la textArea, me permettant de voir le dernier de la sortie. Toutefois, dans IE 7, je vois des comportements différents. La barre de défilement se déplace vers le bas avec le contenu comme prévu, mais une fois que le contenu est plus alors le textarea de la hauteur de la barre de défilement ne bouge plus bas. Il me semble que si IE est de se rappeler l'origine de défilement de la hauteur de l'élément, pas la nouvelle hauteur.
Je suis en utilisant le doctype xhtml transitional si cela aide. Aussi, si cela peut être réalisé avec jQuery que ce serait bien que j'ai accès à.
Merci d'avance
Neil
OriginalL'auteur Neil Foley | 2009-03-13
Vous devez vous connecter pour publier un commentaire.
Rapide hack, tu peux faire ça:
Une autre option est d'essayer il y a un timer:
OriginalL'auteur Greg
À l'aide de jQuery $("textarea").scrollHeight(99999) fonctionne très bien sur Firefox et Chrome mais pas sur IE. Il apparaît pour la définir sur le nombre maximum de lignes dans le textarea, alors que scrollHeight est censé être le nombre de pixels. (Spectacle incroyable excellent travail IE). Cela semble fonctionner, cependant:
Je pense que cela suppose une 12px font-hauteur. J'aimerais trouver un plus robuste/moyen simple de faire cela.
OriginalL'auteur Saul F
Au lieu d'utiliser le délai d'attente, appeler cette fonction sur chaque AJAX réponse fournie, vous pouvez l'ajuster.
Qui permettrait de libérer votre navigateur inutiles délais d'attente.
OriginalL'auteur Seb
J'ai fini par l'utiliser pour Internet Explorer:
et ce, pour les autres navigateurs:
OriginalL'auteur Dylan Berry