Source Code:
(back to article)
Submit
Result:
Report an issue
<!DOCTYPE html> <html> <head> <title>Title of the Document</title> </head> <body> <site-card id="siteCard"> <span slot="sitename">Welcome to W3Docs</span> </site-card> <script> customElements.define('site-card', class extends HTMLElement { connectedCallback() { this.attachShadow({ mode: 'open' }); this.shadowRoot.innerHTML = `<div> <b>Name:</b> <slot name="sitename"></slot> </div>`; this.shadowRoot.firstElementChild.onclick = e => alert("Inner target: " + e.target.tagName); } }); siteCard.onclick = e => alert(`Outer target: ${e.target.tagName}`); </script> </body> </html>