В приведенном ниже коде элемент child
может генерировать событие, которое всплывает до элемента parent
:
<div id="parent">
<div id="child"></div>
</div>
<script>
var parent = document.getElementById('parent');
var child = document.getElementById('child');
parent.addEventListener("bing", function(event) {
console.log(event.detail.message);
});
var bing = new CustomEvent("bing", {
bubbles: true,
detail: {
message: 'Hello, parent'
}
});
child.dispatchEvent(bing);
</script>
Обратите внимание, что child
вложено в parent
, поэтому опция bubbles: true
позволяет родителю получить испущенное событие bing
. Но что, если у нас есть два родственных элемента, которые хотели бы передавать события друг другу?