#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
) и получить последнюю строку. Затем вам нужно вычислить длину этой строки (вы не можете точно знать, какой шрифт использует браузер). При таком размере вам нужно сравнить его с размером текстового поля. Проблема здесь в том, что вы не можете разделить эту строку на ширину текстового поля, потому что слова, которые слишком длинны для строки, переносятся в следующую строку. Итак, вам также нужно вычислить каждое слово.
Я желаю удачи 🙂