我试图从网络组件中引发事件,但确实如此。
<my-component id="xyz" bez="hallo" hello="myScript()"></my-component>
<script>
xyz.addEventListener("hello", function(event) {
console.log(event.detail.name);
});
</script>
Run Code Online (Sandbox Code Playgroud)
html 标签“hello”和事件监听器都不会引发该事件。
Web 组件如下所示:
var button=document.createElement("button");
button.innerHTML=cap;
button.addEventListener('click', () => {
console.log("click");
button.dispatchEvent(new CustomEvent("hello", {
detail: { name: "John" }
}));
});
shadow.appendChild(button);
Run Code Online (Sandbox Code Playgroud)
谁能帮我找出错误吗?多谢。
代码小提琴:https: //jsfiddle.net/b43uqsLp/2/