Ce que j'essaie est de faire de Textarea autogrow lorsque vous entrez du texte ou collez du texte dedans. Il fonctionne très bien avec IE7, IE8 et IE9, Firefox. Mais, dans OPERA, CHROME et SAFARI il augmente automatiquement même si je clique sur les touches fonctionnelles/touches supplémentaires comme Shift, Ctrl, Flèche bas, Flèche haut, Flèche gauche, Flèche droite, Accueil, Fin, Supprimer, etc., aussi.Textarea autogrow ne fonctionne pas dans Chrome
CODE jquery:
<script type="text/javascript">
function txtareaAutoGrow(txtar, clkBtn){
// txtareaAutoGrow() start here
$("#"+txtar).height(18);
$("#"+txtar).keyup(function(){
if ($("#"+txtar).height() <= 18){
$(this).height(18);
}
else {
$(this).height($("#"+txtar).prop("scrollHeight"));
$("#"+txtar).bind('paste', function() {
setTimeout(function() {
$("#"+txtar).height($("#"+txtar).prop("scrollHeight"));
}, 100);
});
}
});
$("#"+clkBtn).click(function(){
if ($("#"+txtar).height() <= 18){
$("#"+txtar).height($("#"+txtar).prop("scrollHeight"));
}
else {
$("#"+txtar).height(18);
}
});
// txtareaAutoGrow() end here
};
</script>
HTML CODE:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Auto Resize TEXTAREA</title>
<style type="text/css">
textarea {
overflow:hidden;
resize: none;}
</style>
<script type="text/javascript" src="jquery-latest.js"></script>
<script type="text/javascript" src="autoresizeTextarea.js"></script>
<script type="text/javascript">
$(document).ready(function() {
txtareaAutoGrow("txtar1", "btnXpand1");
txtareaAutoGrow("txtar2", "btnXpand2");
});
</script>
</head>
<body>
<p>
<textarea cols="100" id="txtar1"></textarea>
<input type="button" id="btnXpand1" value="Expand/Collapse" />
<p> </p>
<textarea cols="100" id="txtar2"></textarea>
<input type="button" id="btnXpand2" value="Expand/Collapse" />
</p>
<p>
<!--<input type="button" id="Heght" value="Height" />
<input type="button" id="scrlHeight" value="Scroll Height" />
<input type="button" id="btnXpand" value="Expand/Collapse" />-->
</p>
</body>
</html>
désolé, je ne ai pas expliqué clairement plus tôt. S'il vous plaît vérifier encore une fois .. –
Je ne comprends pas vraiment? Êtes-vous en train de dire que la zone de texte augmente en hauteur lorsque vous appuyez sur les touches fléchées, déplacez-vous etc. et est-ce que cela se produit également dans le violon affiché ci-dessus? – adeneo
Créez une page HTML avec le code et ouvrez-la avec Google Chrome. Maintenant, essayez d'ajouter du texte. Textarea augmente pour chaque keyup. –