В теневых корнях v1 мы можем прослушивать slotchange
на <slot>
элементах, а затем использовать slot.assignedNodes()
для обнаружения изменений. Я ищу способ сделать это с теневыми корнями v0.
Есть ли в ShadowDOM v0 способ наблюдать за изменениями в распределенных узлах элемента <content>
в теневом корне?
Самый простой способ реализовать это — использовать requestAnimationFrame
для создания цикла опроса, который вызывает content.getDistributedNodes()
для сравнения новых результатов со старыми, но очевидно, что опрос не идеален и дорог.
Как это сделать?
content
? - person KevBot   schedule 30.11.2016childList
наблюдает за потомками, а как насчет распределенных узлов? Есть пример? - person trusktr   schedule 30.11.2016.getDistributedNodes()
и из там для этих элементов можно вызвать наблюдателя мутаций. Или, возможно, прикрепить наблюдателя мутаций к точкам вставки.getDestinationInsertionPoints()
а>. Утром постараюсь придумать что-нибудь более конкретное. - person KevBot   schedule 30.11.2016.getDistributedNodes
для элемента содержимого, чтобы найти новое распределение. Нам также потребуется использовать MutationObserver на всех дочерних элементах хоста для обнаружения изменений атрибутов, поскольку они могут привести к изменению результатов селектора корневого элемента<content>
. - person trusktr   schedule 02.12.2016characterData
) в наблюдателе мутаций? Или вы просто ищете изменения атрибутов, а также добавление или удаление узлов? - person KevBot   schedule 02.12.2016