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

Я написал этот ответ на другой вопрос по StackOverflow , где другой проверяет, когда NaN == null, но затем он был помечен как дубликат, поэтому я не хочу тратить свою работу.

Посмотрите на Сеть разработчиков Mozilla о NaN.


Краткий ответ

Просто используйте distance || 0, если хотите убедиться, что вы указали правильное число, или isNaN(), чтобы проверить его.

Длинный ответ

NaN (Not-a-Number) - это странный глобальный объект в javascript, часто возвращаемый при сбое в математической операции.

Вы хотели проверить, если NaN == null, что приводит к false. Hovewer даже NaN == NaN приводит к false.

Простой способ узнать, является ли переменная NaN, глобальной функцией isNaN().

Другой является x !== x, который верен только тогда, когда х является NaN. (спасибо, что напомнили @ Raphael-Schweikert)

Но почему короткий ответ сработал?

Давайте выясним.

Когда вы звоните NaN == false, результат равен false, то же самое с NaN == true.

Где-то в спецификациях JavaScript есть запись с всегда ложными значениями, которая включает в себя:

  • NaN - Not-a-Number
  • "" - пустая строка
  • false - логическое значение false
  • null - нулевой объект
  • undefined - неопределенные переменные
  • 0 - числовой 0, включая + 0 и -0

7
задан the_drow 9 July 2009 в 10:33
поделиться

5 ответов

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

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

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

3
ответ дан 6 December 2019 в 19:41
поделиться

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

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

8
ответ дан 6 December 2019 в 19:41
поделиться

вы не можете использовать текстовое поле как таковое.

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

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

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

jrh

2
ответ дан 6 December 2019 в 19:41
поделиться

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

С уважением

{{1 }}
0
ответ дан 6 December 2019 в 19:41
поделиться

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

0
ответ дан 6 December 2019 в 19:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: