Red*_*ska 4 html javascript dom custom-event event-propagation
我希望我的 CustomEvent 从文档传播到所有 DOM 元素。由于某种原因,它没有发生。我究竟做错了什么?
<html>
<script>
function onLoad() {
var myDiv = document.getElementById("myDiv");
myDiv.addEventListener("myEvent",function(){alert("Yes!");});
document.dispatchEvent(new CustomEvent("myEvent",{detail:null}));
}
</script>
<body onload="onLoad()">
<div id="myDiv"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
小智 7
默认情况下,自定义事件不会冒泡。
原因是,自定义事件定义说:
让事件=新的CustomEvent(类型,[,选项])。
选项有一个标志:bubbles,默认情况下为false,我们必须启用它。
以下将修复您的代码
<html>
<script>
function onLoad() {
var myDiv = document.getElementById("myDiv");
myDiv.addEventListener("myEvent",function(){alert("Yes!");});
document.dispatchEvent(new CustomEvent("myEvent",{detail:null,bubbles:true}));
}
</script>
<body onload="onLoad()">
<div id="myDiv"></div>
</body>
</html>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4794 次 |
| 最近记录: |