Как получить последнюю строку в текстовом поле?

#jquery

#jquery

Вопрос:

Как получить последнюю строку в текстовом поле в случае, если строки автоматически переносятся в «новые строки», то есть без «/ n», но из-за ширины текстового поля?

Ответ №1:

Я не уверен, что правильно понял вопрос, но … примите значение TextArea с помощью jQuery в виде строки с чем-то вроде $('#textareaid').val() , затем разделите строку на новые строки, например split("n"); ?

Таким образом, вы получите var lines = $('#textareaid').val().split("n") массив строк в текстовом поле. Затем вы просто берете последнюю строку, например lines [строки.длина-1].

Ответ №2:

Просто небольшая идея:

  • Оформите div с помощью display: inline-block; той же ширины и шрифта, что и текстовое поле
  • Скопируйте последние n символов вашей строки текстового поля в этот div.
  • Увеличивайте n, пока высота вашего div не увеличится. Это указывает на перенос строки.
  • Теперь вы знаете, что количество символов в конце вашей строки, которые помещаются в строку без переноса, равно n-1.

Ответ №3:

Думаю, я понимаю, чего вы хотите. Вам нужна последняя строка, и когда последняя реальная строка заменяется новой, вы хотите этого последнего покоя.

Это действительно непросто (насколько я знаю). Что вам нужно сделать, это разделить строки с помощью new-lines break ( n ) и получить последнюю строку. Затем вам нужно вычислить длину этой строки (вы не можете точно знать, какой шрифт использует браузер). При таком размере вам нужно сравнить его с размером текстового поля. Проблема здесь в том, что вы не можете разделить эту строку на ширину текстового поля, потому что слова, которые слишком длинны для строки, переносятся в следующую строку. Итак, вам также нужно вычислить каждое слово.

Я желаю удачи 🙂