Dmitro Cossack
Коллеги, добрый день. Подтолкните с направлением. Есть задача.
Shadow Dom.
В нем из файла генерится SVG. Затем этот SVG обрабатывается. Вопрос в том, как понять, что SVG полностью "отрендерился", что-бы начать его "обрабатывать"?
Как наружу из Shadow Dom получить "сообщение" о том, что SVG полностью в нем сгенерилось?
Пробовал свои события "костылить", но они не "всплыли". Скорее всего я неправильно их "костылил". На клик внутри Shadow Dom, все Ок. Из цепочки по инжекту HTML с SVG, не получилось. Но тут скорее всего я просто не умею это готовить.
Спасибо за любые тыкания в нужном направлении.
Задачку я уже решил. Главное выдержать паузу и взглянуть на проблему с другой стороны. :)
Но если немного подскажете что я неправильно понимаю в CustomEvent, буду признателен.
Вот такое работает:
btnFloor.addEventListener('click',(e)=>{
console.log(
click btn
,
e.target.id)
SVG2DF.shadow.dispatchEvent(new CustomEvent('test2', {
bubbles: true,
composed: true,
detail:
e.target.id }));
})
И я более-менее понимаю почему.
Но почему не взлетает просто:
SVG2DF.shadow.dispatchEvent(new CustomEvent('test2', {
bubbles: true,
composed: true,
detail:
e.target.id }));
расположенное в произвольном месте выполнения программы?
Т.е. вообще возможно "подсветить" таким способом выполнение программы в определенном месте, или это совсем не так работает?
Вроде тут
https://learn.javascript.ru/dispatch-events#polzovatelskie-sobytiya читаю и считаю, что должно работать, но как-то не получилось. Или все дело в особой работе именно из ShadowDom куда я запихиваю этот пример?
Спасибо