[英]Javascript event propagation not working as expected
window.document.addEventListener('click', function(e) {
event.preventDefault();
event.stopPropagation();
setTimeout(function(){e.target.dispatchEvent(e);}, 2000);
}, true);
<button onclick="console.log('test')">test</button>
为什么事件在2秒后没有触发? (从不触发)
根据W3C DOM 3级事件规范 , 事件流具有3个阶段:捕获,目标和冒泡。 如果“ …在分派之前已调用…Event.stopPropagation(),则必须跳过所有阶段 ”。
因此,由于在分派事件之前已调用stopPropagation ,因此不会执行任何阶段,包括目标phase 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.