Javascript - изменить цвет шрифта определенного текста в текстовой области

Есть ли функция JS, которая может изменить цвет определенного текста в текстовой области?

Например, blar blar {blar} blar, {blar}, включая { }, будет синего цвета. Другие слова будут пустыми. Другими словами, все, что мне нужно, это функция, которая может изменить цвет всего текста в {}.

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

Любое предложение приветствуется.


person John Adawan    schedule 09.07.2009    source источник
comment
retaggt, потому что jtextarea не существует ни для HTML, ни для JavaScript. Может быть, или думал о Java Swing...?   -  person Tim Büthe    schedule 09.07.2009
comment
Пожалуйста, укажите, какой шаблон вы используете для поиска текста. Вы хотите программно заменить определенный шаблон?   -  person Pekka    schedule 11.01.2010


Ответы (5)


Никто не упомянул contentEditable?
Просто создайте div contentEditable и используйте javascript для его оформления.
Я рекомендую вам изучить Tojo Toolkit.
В нем есть виджет редактора.

Другие ресурсы:
Некоторые проблемы с ContentEditable в IE.
Как использовать contentEditable с jQuery или без него.

person the_drow    schedule 09.07.2009
comment
+1 о, классный набор ссылок! добавляя их в закладки.. спасибо! - person jrharshath; 09.07.2009
comment
Кстати, я обнаружил, что contentEditable несовместим с FF2. потерпеть неудачу! :( - person jrharshath; 10.09.2009
comment
Вы уверены? Мне это кажется довольно странным. Виджет редактора додзё работает и на FF 2. - person the_drow; 11.09.2009

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

Если вы посмотрите на редактор здесь, в SO, вы напишите обычный текст внутри текстового поля, а затем он преобразуется в поле под ним, поэтому вы увидите звездочку внутри текстового поля, но в поле ниже он будет < em>преобразовывать специальные символы, объединяя их с тегами.

Если вы используете firebug, вы можете начать писать в редакторе, просматривая HTML-код в окне предварительного просмотра.

person peirix    schedule 09.07.2009

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

Но javascript — ваш друг. Возможно, вам следует взглянуть на код нескольких редакторов форматированного текста.

Вы можете начать с lwrte, так как он говорит, что он "легкий". Кроме того, он написан на jquery, поэтому его будет довольно легко понять. (и я фанат jquery).

Надеюсь, это поможет,

младший

person jrharshath    schedule 09.07.2009

Я думаю, вам нужно будет использовать метод execCommand javascript, который управляет многими вещами, такими как изменение определенного цвета текста.

С уважением

person Marwan    schedule 16.02.2010

Но некоторые редакторы Jquery WYSIWYG делают это! Как это возможно? См. этот редактор lwrte

person Aakash Chakravarthy    schedule 07.06.2010