как узнать количество строк в textarea
Как посчитать количество строк в textarea?
Как можно посчитать количество строк в textarea?
@iiil когда делал решение проблемы оформления границ текстовых прямоугольников toster.ru/q/121825, вдруг вспомнил про эту задачу.
Зачем мы высоту искали, делили на line-height. Надо было просто в div воткнуть span и брать количество областей от его getClientRects().
Да вроде метод-то поддерживается с незапамятных времён. Так что единственный вопрос — производительность. То ли clientRects(), то ли расчёт высоты и деление (возможно, с округлением).
Терзают смутные сомнения, что для clientHeight задействуются механизмы, схожие с теми, что и при clientRects().
@iiil сделал тесты — getClientRects для подсчёта строк оказался существенно медленней, чем взятие высоты банальное деление с округлением.
Проверял на 1 000 000 итераций:
80 мс : 1800 мс [FF]
10 мс : 2000 мс [Chrome]
Так что для специфических задач getClientRects пойдёт, а для мелких и частых изменений состояния, возможно, лучше более примитивные. Безусловно, одна операция копеечная — даже в Chrome всего 2 мкс.
Кстати, на самом блоке getBoundingClientRect существенно быстрее (тот же 1 000 000 итераций):
200 мс [FF]
100 мс [Chrome]
Так что я ошибался с мыслью, что реализация client-, offset-, scroll- параметров так же затратна, как и определение областей элементов.
Как получить количество строк в текстовой области?
Я хотел бы посчитать количество строк в текстовой области, например:
Следует считать до 4 строк. В основном, нажав Enter один раз, вы переместитесь на следующую строку.
Следующий код не работает:
Он всегда дает «1» независимо от того, сколько строк.
13 ответов
Я реализовал линии и методы lineCount как прототипы String:
Очевидно, что метод split не будет подсчитывать символ возврата каретки и / или символа новой строки в конце строки (или свойство innerText текстовой области) в IE9, но он будет считать его в Chrome 22, что приведет к другим результатам.
До сих пор я учитывал это, вычитая 1 из числа строк, когда браузер отличается от Internet Explorer:
Надеюсь, у кого-то есть лучший RegExp или другой обходной путь.
А как насчет разделения на \ n?
Также будет проблема, когда одна строка переносится в 2 строки в текстовой области.
Чтобы сделать это точно так, вы можете использовать шрифт с фиксированной высотой и измерять пиксели. Это может быть проблематично, хотя.
Эта функция считает количество строк с текстом в текстовой области:
Ваш ответ может быть сделан очень простым способом.
Этот код для точных строк, заполненных в текстовой области. и будет работать наверняка.
Я использовал оригинальный ответ Mottie, но некоторые функции были изменены в JQuery API. Вот рабочая функция для текущего API v3.1.0:
Все пальцы за ответ Мотти!
Проблема с использованием «\ n» или «\ r» заключается в том, что он подсчитывает только количество возвратов, если у вас есть длинная строка, которую можно обернуть, и тогда она не будет считаться новой строкой. Это альтернативный способ получения количества строк, поэтому он может быть не лучшим.
Редактировать (спасибо, Алекс):
Обновление: здесь можно найти более подробный ответ: https://stackoverflow.com/a/1761203/145346
Это будет направлено на рассмотрение строк с жестким и мягким возвратами:
Если вы просто хотите проверить жесткие возвраты строки, это будет работать кроссплатформенно:
Однако это работает, если вам нужно использовать его, потому что это отвечает вашей проблеме
Как получить количество строк в textarea?
Я хотел бы подсчитать количество строк в textarea, e.g:
следует считать до 4 строк. В основном нажатие enter один раз перенесет вас на следующую строку
Следующий код не работает:
Он всегда дает ‘ 1 ‘ независимо от того, сколько строк.
12 ответов
Как насчет разделения на «\n» вместо этого?
Это также будет проблемой, когда одна строка обернута в 2 строки в textarea.
Чтобы сделать это точно, как это, вы можете использовать фиксированную высоту шрифта и измерения пикселей. Это может быть проблематично, хотя.
пользователь \n вместо \r
Если вы как раз хотите испытать трудную линию возвращения, то это будет работать перекрестная платформа:
Обычный символ новой строки — «\n». Соглашение о некоторых системах также должно иметь «\r» заранее, поэтому в этих системах «\r\n» часто означает новую строку. В браузере, если пользователь намеренно не вводит «\r», копируя его откуда-то еще, новая строка, вероятно, будет выражена просто «\n». В любом случае разбиение на «\n» будет считать количество строк.
Проблема с использованием » \n «или» \r » заключается в том, что он подсчитывает только количество возвратов, если у вас есть длинная строка, которую можно обернуть, и тогда она не будет учитываться как новая строка. Это альтернативный способ получить количество строк-так что это может быть не лучшим способом.
Update: здесь есть гораздо более подробный ответ: https://stackoverflow.com/a/1761203/145346
Я реализовал методы lines и lineCount в качестве прототипов строк:
По-видимому, метод split не будет считать возврат каретки и/или символ новой строки в конце строки (или свойство innerText textarea) в IE9, но он будет считать его в Chrome 22, давая различные результаты.
До сих пор я приспособился для этого, вычитая 1 из числа строк, когда браузер отличается от Internet Explorer:
Надеюсь, у кого-то есть лучший RegExp или другой обходной путь.
Узнать количество строк в textarea
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Определить количество переносов строк textarea
textarea содержит следующее asdasdasd dfgdffgdffg ffhgh Как пропустить через данную.
Узнать из текста в файле количество строк и наибольшее количество слов в строке
Помогите пожалуйста, подсчет строк я вроде сделал, а вот строку с наибольшим количеством слов не.
Узнать количество строк в текстовом файле и записать количество в Label
Здравствуйте! Как знать количество строк в текстовом файле(.txt) и записать это количество в.
Как узнать количество НЕ скрытых строк в qtablewidget или как изменить нумерацию строк по порядку
Здравствуйте, в программе есть таблица с данными, которые после определенных действий меняются и.
Решение
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Узнать количество неповторяющихся строк
Здрасте. Есть stringGrid c данными К примеру: ООО «БАЛТЛПА» ООО «СОЛЮШИОНС» ИП «Назаренко».
Узнать количество строк сверху
Добрый день. Не могу понять алгоритм. Есть таблица: id|txtcolumn1|txtcolumn2|login.
Узнать количество строк в Label
Можно ли как-нибудь узнать кол-во строк в Label? AutoSize = false, поэтому происходит перенос по.
Как узнать количество строк ListView
listview.lenght, listview.items.lenght и т.д. пишет, что такого нет.
Как получить количество строк в a textarea?
Что я хотел бы, так это подсчитать количество строк в a textarea, например:
следует считать до 4 строк. В принципе нажатие клавиши enter один раз перенесет вас на следующую строку
Следующий код не работает:
Он всегда дает ‘1’ независимо от того, сколько строк.
14 ответов
Привет, у меня есть функция для увеличения количества строк a textarea, когда пользователь вводит на нем текст, так что она работает нормально. Но когда форма вводит текст в textarea, так как пользователь не вводит его, она не увеличивает количество строк, а показывает только количество строк.
Мне было интересно, есть ли какой-нибудь способ узнать, сколько строк текста имеет a textarea. А также, если бы можно было прослушивать изменения количества строк. Я пытаюсь разработать компонент, который сначала отображает только одну строку, а затем начинает расти по мере необходимости.
Редактировать (спасибо Алекс):
Обновление: Здесь есть гораздо более подробный ответ: https://stackoverflow.com/a/1761203/145346
Если вы просто хотите протестировать жесткую линию возврата, это будет работать на кросс-платформе:
Я реализовал методы lines и lineCount в качестве прототипов строк:
По-видимому, метод split не будет считать возврат каретки и/или символ новой строки в конце строки (или свойство innerText textarea) в IE9, но он будет считать его в Chrome 22, что приведет к другим результатам.
До сих пор я приспосабливался к этому, вычитая 1 из числа строк, когда браузер отличается от Internet Explorer:
Надеюсь, у кого-то есть лучший RegExp или другой обходной путь.
пользователь \n вместо \r
Однако это работает, если вам нужно использовать его, потому что он отвечает на вашу проблему
А как насчет разделения на «\n» вместо этого?
Это также будет проблемой, когда одна строка обернута в 2 строки в textarea.
Чтобы сделать это точно так, вы можете использовать шрифт фиксированной высоты и измерять пиксели. Однако это может быть проблематично.
Эта функция подсчитывает количество строк, содержащих текст в textarea:
Возможный Дубликат : Как получить количество строк в
Есть ли быстрый и простой способ ограничить количество строк, которые пользователь может ввести в textarea, используя jquery/javascript? Спасибо,
Я использовал оригинальный ответ Мотти, но некоторые функции были изменены в JQuery API. Вот рабочая функция для текущего API v3.1.0:
Все ждут ответа Мотти!
Это будет направлено на рассмотрение линий как с жесткой, так и с мягкой отдачей:
Ваш ответ может быть сделан очень простым способом.
Этот код для точных строк заполняется в textarea. и будет работать наверняка.
Попробуйте вызывать эту функцию каждый раз, когда вы меняете ее значение.
Похожие вопросы:
Я видел несколько примеров в jQuery и JS об этом. http://jsfiddle.net/XNCkH/17 / Я огляделся вокруг и вижу, что вы можете ограничить длину (см. fiddle). Мне было интересно, есть ли способ ограничить.
Я пытаюсь ограничить количество строк в textarea, чтобы убедиться, что введенный текст вписывается в макет. Максимальное количество символов в строке-83. Я нашел несколько решений( например, это ).
Привет, у меня есть функция для увеличения количества строк a textarea, когда пользователь вводит на нем текст, так что она работает нормально. Но когда форма вводит текст в textarea, так как.
Мне было интересно, есть ли какой-нибудь способ узнать, сколько строк текста имеет a textarea. А также, если бы можно было прослушивать изменения количества строк. Я пытаюсь разработать компонент.
Возможный Дубликат : Как получить количество строк в
Есть ли быстрый и простой способ ограничить количество строк, которые пользователь может ввести в textarea, используя jquery/javascript? Спасибо,
Я пытаюсь создать список с количеством строк textarea, как в текстовом редакторе. Я сделал это с элементом VBox и добавил TextField ListCell, но когда я прокручиваю textarea, то VBox этого не делает.
У меня есть Textarea, который я использую только для отображения контента. Как мне установить его максимальное количество строк равным 4, независимо от длины строки. Или есть способ рассчитать.