Я использую стороннюю библиотеку ( Quill ), которая расширяет элемент contenteditable
.
Quill работает, используя MutationObserver
, обрабатывая пользовательский ввод и затем обновляя свою внутреннюю модель JSON документа, чтобы отразить DOM.
Я бы хотел иметь возможность выполнять больше операций с DOM после обновления внутренней модели JSON, но за до изменения пользователя были перекрашены в DOM.
В идеале я хотел бы сделать что-то вроде:
- пользователь вносит изменения в
contenteditable
MutationObserver
пожаров
- пауза перекрасить
- пусть Quill сделает свое дело и обновит свою внутреннюю модель
- Я делаю свое дело и снова обновляю DOM
- резюме перекрасить
- пользователь видит окончательное обновление, не видя FOUC между обновлением Quill и моим последующим обновлением
Это вообще возможно?
(Для дополнительного контекста проблема, которую я пытаюсь решить, этот трек меняет мерцание )