Я пытаюсь построить угловое приложение вокруг экземпляра wordpress tinyMce. Внутри редактора есть нередактируемые элементы, которые при нажатии открывают модальное окно вне редактора tinymce.
Однако при нажатии на элемент модальное окно не открывается, пока пользователь не переместит мышь за пределы iframe, расположенного внутри редактора.
У меня есть служба, которая занимается настройкой редактора tinymce.
Служба регистрирует обработчик события щелчка, который при щелчке генерирует событие через объект субъекта.
Мой модальный класс подписывается на тему, что приведет к открытию модального режима при каждом нажатии элемента.
Служба обработчика редактора
private clickSubject: Subject<HTMLElement>;
public clickEvent:Observable<HTMLElement>;
private editorSetup(editor: TinyMceEditor) {
editor.on("DblClick", e => {
let elm = e.target as HTMLElement;
this.clickSubject.next(elm);
});
}
Модальный компонент
private open(elm:HTMLElement){
this.isOpen = true;
console.log("Opening");
}
ngOnInit() {
this.editorHandler.clickEvent.subscribe(elm =>this.open(elm));
}
Я создал приложение StackBlitz , чтобы помочь продемонстрировать мою проблему.
Ожидаемое:
Щелчок по элементу, расположенному в редакторе, откроет модал без задержки.
Фактический:
Когда я щелкаю элемент, происходит событие click в редакторе, и сообщение «Открытие» также регистрируется на консоли. Однако модальный режим не отображается, пока пользователь не переместит мышь за пределы iframe, расположенного внутри редактора.