Клавиша / esc

composed

Свойство события, определяющее, может ли событие пересекать границы Shadow DOM и распространяться в обычный DOM.

Время чтения: меньше 5 мин

Кратко

Скопировано

Свойство 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 и распространяться в обычный DOM
  • false — событие останавливается на границе Shadow DOM

Все события пользовательского интерфейса (click, touch, mouseover, copy, paste и др.) имеют composed: true. Большинство других типов событий имеют composed: false.

Распространение происходит только если свойство bubbles также равно true.

Подсказки

Скопировано

💡 Все события пользовательского интерфейса автоматически имеют composed: true.
💡 События, созданные программно, по умолчанию имеют composed: false, если не указано иное.
💡 Используйте метод composedPath() для определения пути распространения события через Shadow DOM.
💡 Даже если composed: true, события не могут проникнуть в закрытый Shadow DOM.

Поддержка в браузерах:
  • Chrome 53, поддерживается
  • Edge 79, поддерживается
  • Firefox 63, поддерживается
  • Safari 10, поддерживается
О Baseline