Примеры JavaScript - Как получить количество строк в textarea элементе?
ОГЛАВЛЕНИЕ
Страница 7 из 47
Как получить количество строк в textarea элементе?
IE4+
function textareaCurLineNum(obj)
{
var rowHeight = obj.clientHeight/obj.rows;
var curHeight = obj.createTextRange().boundingHeight;
return parseInt(curHeight/rowHeight)+(obj.value!=''?1:0);
}
Обратите внимание на то, как ведется подсчет строк:
- если текстовое поле пусто, то функция вернет 0 (хотя курсор и мигает в первой строке), ибо строк реально нет;
- если вы нажали "Enter" и курсор переместился в новую строку, то это не значит что, появилась новая строка. Вот когда вы введете в этой строке что-то, то строка действительно появится, и будет учитываться при подсчете.
Пояснения: clientHeight возвращает высоту элемента textarea без учета всех отступов, границ, полос прокрутки;
boundingHeight возвращает размер в пикселах воображаемого пространства, занятого объектом TextRange (в нашем случае данный объект содержит весь текст и соответственно возвращает высоту занимаемую текстом в textarea элементе).