Spec-Zone.ru › Web APIs

HTMLSlotElement: событие slotchange

Базовая поддержка Широко доступно

Эта функция хорошо поддерживается и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с января 2020 года.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Событие slotchange срабатывает на экземпляре HTMLSlotElement (<slot> элемент), когда содержимое этого слота изменяется.

Примечание: Событие slotchange не срабатывает, если изменяются дочерние элементы узла в слоте — только если изменяются сами узлы (например, добавляются или удаляются).

Для того, чтобы вызвать событие slotchange, необходимо установить или удалить атрибут slot.

Это событие нельзя отменить.

Синтаксис

Используйте имя события в методах, таких как addEventListener(), или установите обработчик событий.

addEventListener("slotchange", (event) => {});

onslotchange = (event) => {};

Тип события

Общее событие Event.

Примеры

element.setAttribute("slot", slotName);
// element.assignedSlot = $slot
element.removeAttribute("slot");
// element.assignedSlot = null

Следующий фрагмент взят из нашего примера slotchange (посмотреть в работе).

let slots = this.shadowRoot.querySelectorAll("slot");
slots[1].addEventListener("slotchange", (e) => {
  let nodes = slots[1].assignedNodes();
  console.log(
    `Element in Slot "${slots[1].name}" changed to "${nodes[0].outerHTML}".`,
  );
});

Здесь мы получаем ссылки на все <slot>ы, а затем добавляем обработчик события slotchange к второму слоту шаблона — тот, содержимое которого изменяется в примере.

Каждый раз, когда элемент в слоте изменяется, мы записываем отчёт в консоль, указывая, какой слот изменился и какой новый узел находится внутри слота.

Спецификации

Спецификация
DOM
# eventdef-htmlslotelement-slotchange
HTML
# handler-onslotchange

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari на IOS Samsung Internet WebView Android
slotchange_event 53 79 63 40 10.1
10–10.1Обработчик события onslotchange не поддерживается.
53 63 41 10.3
10–10.3Обработчик события onslotchange не поддерживается.
6.0 53

См. также

HTMLSlotElement

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/HTMLSlotElement/slotchange_event

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API