После дополнительных исследований я обнаружил следующее. Функциональность для создания rich-text-editor уже реализована в браузере. IE был первым, кто создал такой API, и Firefox скопировал его.
Обзор
Суть в том, что у javascript-объекта «document» есть свойство с именем designMode, которое можно установить в «on». Это преобразует всю страницу в компонент, похожий на текстовую область. Представьте, что браузер открывает страницу так же, как это делает MS-Word: пользователь может видеть форматирование, но он также может вводить страницу (обычно браузер открывает страницу только для чтения).
window.document.designMode = "On";
Поскольку вышесказанное влияет на все веб-страницы, большинство редакторов используют iFrames, так что редактируемой областью является только iFrame, который имеет собственный объект документа.
Кроме того, есть API, который обеспечивает легкий доступ к стилю в javascript. Это раскрыто с помощью метода execCommand (). Например, вы можете позвонить из Javascript
document.execCommand('bold', false, '');
, и выделенный текст станет жирным.
Обучение
Я нашел следующее:
Краткий пошаговый путеводитель .
Мозилла Путеводитель . У него самая удобная ссылка на API, которую я нашел, а также еще несколько ссылок.
Руководство от Microsoft .