Как выцепить перенос строки в textarea?

Добрый день, господа!
Есть textatrea. Там есть некоторый текст, с которым производятся действия.
Так при однократном нажатии условный кнопки - выделенный текст переносится при помощи \r на отдельную строку.

Как мне сделать так, чтобы при повторном нажатии отловить, что \r сверху и снизу текста уже имеется, чтобы текст не переносился еще раз.

Я думал с помощью if проверить наличие на этот \r и если он есть, не применять его. Но проблема сводится к тому, как отловить этот перенос?
  • Вопрос задан
  • 5180 просмотров
Пригласить эксперта
Ответы на вопрос 2
iiil
@iiil
Инженер и вэб-дизайнер, рисую.
А обязательно отлавливать это событие? Может можно оставить как есть, пусть хоть по 10 раз переносит, а потом подряд идущие /n в результате заменить на одиночные.
Ответ написан
kompi
@kompi
nullstack devoops
В событии onclick условной кнопки добавить проверку по регулярке на переносы у выделенного текста.
var filter = new RegExp('\n' + selectedText + '\n', 'i');
if(allText.match(filter)) {}

Можно обойтись и без if:
function processSelection() {
  var text = document.getElementById('myTextareaId');
  var sel = new RegExp('\\n*(' + text.value.substring(text.selectionStart, text.selectionEnd) + ')', 'i');
  text.value = text.value.replace(sel, '\n$1'));
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы