Изменение цвета в textarea с помощью JQuery

257
09 ноября 2017, 04:50

Здравствуйте, есть сайт, на нем есть textarea, в ней нужно сделать так чтобы к примеру, если пользователь вводит "#" то вся строка стала красным, а не весь текст в textarea. Уже и там и так пробовал, получается только изменить цвет шрифта во всем texarea, а не с определенного символа и к примеру по конец строки. Вот мой код, на чем я остановился...

$(document).ready(function(){
    $(".txt_send").change(function(){
        var text = $('.txt_send').val();
        $(".txt_send").css("color", "#F00");
    });
});
Answer 1

В не можете поменять отдельно взятую линию текста из области textarea.

Textarea может содержать только обычный текст. С общей заменой цвета, размера текста, и шрифтов, как в обычном input.

В вашем случае можно использовать что то вроде редактора WYSIWYG (CKEditor или TinyMCE)

Answer 2

В textarea это сделать невозможно. Вы можете использовать contenteditable для этого:

code.onkeypress = e => { 
  if(e.key === '#'){ 
    const selection = window.getSelection(); 
    const red = document.createElement('span'); 
    red.style.color = 'red'; 
    selection.anchorNode.parentNode.insertBefore(red, selection.anchorNode); 
    red.appendChild(selection.anchorNode); 
  } 
}
<code id=code contenteditable="true"> 
Строчка<br/> 
Поставь сюда # <br/> 
Строчка 
</code>

READ ALSO
Как сделать фигуру из движущихся частиц? [требует правки]

Как сделать фигуру из движущихся частиц? [требует правки]

Нужно сделать фигуру из движущихся частиц, как в particlejs

173
Переменные в pug

Переменные в pug

Есть такой код

209
Как оптимизировать SELECT к двум таблицам?

Как оптимизировать SELECT к двум таблицам?

Здравствуйте! У меня есть таблица Модели и таблица Разделы

202
Как получить результаты SQL запроса?

Как получить результаты SQL запроса?

Использую CodeigniterДобавляю строку в БД следующим запросом:

233