Кратко
СкопированоСвойство composed события возвращает булево значение, которое указывает, может ли событие пересекать границы Shadow DOM и распространяться в обычный DOM.
Пример
Скопировано
<div id="open-shadow"></div><div id="closed-shadow"></div>
<div id="open-shadow"></div>
<div id="closed-shadow"></div>
const openHost = document.getElementById('open-shadow');const openRoot = openHost.attachShadow({ mode: 'open' });openRoot.innerHTML = '<button>Открытый дом</button>';const closedHost = document.getElementById('closed-shadow');const closedRoot = closedHost.attachShadow({ mode: 'closed' });closedRoot.innerHTML = '<button>Закрытый дом</button>
const openHost = document.getElementById('open-shadow');
const openRoot = openHost.attachShadow({ mode: 'open' });
openRoot.innerHTML = '<button>Открытый дом</button>';
const closedHost = document.getElementById('closed-shadow');
const closedRoot = closedHost.attachShadow({ mode: 'closed' });
closedRoot.innerHTML = '<button>Закрытый дом</button>
Как пишется
Скопировано
event.composed
event.composed
Свойство доступно только для чтения и возвращает true или false.
Как понять
СкопированоСвойство composed определяет поведение события при пересечении границ Shadow DOM:
true— событие может пересекать границы Shadow DOM и распространяться в обычный DOMfalse— событие останавливается на границе Shadow DOM
Все события пользовательского интерфейса (click, touch, mouseover, copy, paste и др.) имеют composed. Большинство других типов событий имеют composed.
Распространение происходит только если свойство bubbles также равно true.
Подсказки
Скопировано💡 Все события пользовательского интерфейса автоматически имеют composed.
💡 События, созданные программно, по умолчанию имеют composed, если не указано иное.
💡 Используйте метод composed для определения пути распространения события через Shadow DOM.
💡 Даже если composed, события не могут проникнуть в закрытый Shadow DOM.
- Chrome 53, поддерживается
- Edge 79, поддерживается
- Firefox 63, поддерживается
- Safari 10, поддерживается