Как автоматически увеличить ширину текстовой области при наборе текста? - PullRequest
0 голосов
/ 13 марта 2011

Я пытаюсь создать текстовую область, ширина которой будет динамически увеличиваться при вставке текста.

Я нашел много сценариев, которые бы динамически изменяли размер текстовой области, изменяя ее высоту, но ничего не отвечало моим потребностям.

Так знаете ли вы что-нибудь, что могло бы помочь?

Ответы [ 2 ]

2 голосов
/ 13 марта 2011

это может помочь ..

<textarea id="tarea" onkeypress="change()" style="width:200;"> </textarea>


<script type="text/javascript"> 
function change() {
    var a = document.getElementById('tarea');
    var len = a.value.length;
    a.style.width = 200 + len;
    alert(a.style.width);
}
</script>

хорошего дня ..

0 голосов
/ 13 марта 2011

Дайте текстовой области ID. Если шрифт внутри текстовой области моноширинный, это просто. Если нет, это немного сложно (создайте функцию распределения ширины символа, используйте среднее значение для ее использования вперед).

Для события onkeyup или onkeypressed используйте что-то вроде

if (document.getElementById('yourid').value.lenght>defaultValue)
{
    defaultValue = defaultValue+charWidth;
    document.getElementById('yourid').width = (defaultValue+charWidth)+'px';       
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...