2010-06-25 3 views
1

Использование jQuery, как я могу создать текстовое поле, которое автоматически добавляет новую строку при вставке текста, когда курсор находится ближе к концу.Автоматическая новая строка в textarea

Ширина текстового поля динамически выполняется с помощью CSS (например, #myTextArea { width: 80%; }), поэтому я не могу ничего сделать, как подсчет символов в каждой строке.

Мне не нужно решение, отличное от JS, так как содержимое текстового поля всегда видно в JavaScript.

+0

Это будет сложно; но, просто из любопытства, зачем вам это нужно? Как вы, вероятно, знаете по умолчанию текстовое слово textraas. –

+0

Для чего именно вам нужно это делать? В зависимости от того, что вы хотите, стиль 'word-wrap: break-word' может решить вашу проблему. – BrunoLM

+0

@Marcel - Да, но так, что это невидимо для скрипта. – MiffTheFox

ответ

1

You can get the calculated pixel width of the text area и обивка textarea. Вы можете посмотреть горизонтальную ширину шрифта (или режим, или что угодно вам нравится). Вы можете догадаться о кернинге. Посмотри, что я получаю? (подсказка: рассчитать длину строки в символах)

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

+0

Если я изменю размер шрифта моего окна IE, тогда все ставки у меня не задумываются. – griegs

0

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

Смежные вопросы