The editor.getAttribute(nodeType) принимает имя типа узла.
По моим наблюдениям, editor.state.selection.$anchor.node(глубина).type.name всегда возвращает абзац или связанный с ним элемент: . Проблема в том, что определенные стили, примененные с помощью инструментов редактора, добавляются внутри этого абзаца к , который называется узлом типа text.
- Заменив абзац на текст в editor.getAttribute(nodeType), возвращаемые атрибуты будут пустыми.
- Увеличение уровня глубины узла в editor.state.selection.$anchor.node(глубина).type.name возвращает неопределенное значение вместо текстового узла, который должен находиться под абзацем.
Если выделение содержит 1 или более текстовых узлов, я хочу получить их атрибуты цвета.
В качестве примера я пытаюсь получить такие атрибуты:
Код: Выделить всё
editor.on("selectionUpdate", ({ editor, event }) => {
const selectedElement = editor.state.selection.$anchor.node().type.name; // always "paragraph" while styles I want is appended to its child "text" nodes
const style = editor.getAttributes(selectedElement);
console.log({ style });
});
Подробнее здесь: https://stackoverflow.com/questions/793 ... an-element