2 回答
TA貢獻(xiàn)1841條經(jīng)驗(yàn) 獲得超3個(gè)贊
您可以向自定義元素類添加一個(gè)方法
class Icicle extends HTMLElement {
connectedCallback() {
console.log('x-icicle element initiated')
}
listen(el) {
el.addEventListener('click', function() {
console.log('Button clicked')
})
}
}
customElements.define('x-icicle', Icicle)
document.querySelector('x-icicle').listen(document.querySelector('button'))
<button>
Button
</button>
<x-icicle></x-icicle>
TA貢獻(xiàn)1839條經(jīng)驗(yàn) 獲得超15個(gè)贊
一個(gè)解決方案是使用CustomEvent
看看下面的例子(我用了一個(gè)簡(jiǎn)單的span而不是你的自定義元素,但它會(huì)完全一樣)
const button = document.getElementById('button');
const span = document.getElementById('span');
button.addEventListener('click', evt => {
? ? span.dispatchEvent(new CustomEvent('myEvent'));
});
span.addEventListener('myEvent', evt => {
? ? span.innerHTML = 'button has been clicked';
});
<button id="button">button</button>
<span id="span"></span>
添加回答
舉報(bào)
