Как работают редакторы форматированного текста и как бы вы построили базовый?

#javascript #content-management-system #richtextbox #ckeditor #rtf

#javascript #content-management-system #richtextbox #ckeditor #rtf

Вопрос:

Я думал, что знаю JavaScript довольно хорошо, но потом я подумал о том, как работают редакторы форматированного текста, такие как CKEditor, и понял, что понятия не имею.

Я предполагаю, что кнопки каким-то образом подключены через JavaScript к текстовой области, но как она помечена.

Есть ли что-то особенное в редакторах форматированного текста в Интернете, или это просто много навороченных js?

Ответ №1:

Множество fancy.js , и то, что раньше было расширением MS для DOM под названием «contentEditable», которое в основном превращает любой элемент dom в простой текстовый редактор. JS позволяет выполнять такие действия, как выделение жирным шрифтом / курсивом / шрифтами / вставка других элементов DOM (таблиц, изображений и т. Д.). Но в конце все сводится к contentEditable.

Ответ №2:

Ответ №3:

Вы можете сделать это с помощью свойства contentEditable элемента div.. Допустим, у вас есть жирная кнопка. Пользователь нажимает на него, затем вы вызываете функцию js и открываете тег, например <b> , когда пользователь нажимает обычную кнопку, вы закрываете ее.. То же самое с цветом.. Откройте a <span style="backround-color:red"> .. По сути, вы стилизуете текст div с помощью js .. Попробуйте jquery для упрощения манипулирования dom.