javascript - 为了使冒泡起作用,子元素甚至需要有一个 eventListener 吗?
问题描述
我很惊讶单击列表项会执行事件处理程序。我认为正在发生的事情是冒泡的结果。
function targetHandler(event) {
console.log(event.target);
}
let list = document.getElementById("myList");
list.addEventListener("click", targetHandler);
<ul id="myList">
<li>One</li>
<li>Two</li>
<li>Three</li>
</ul>
我知道'click'
在元素(具有事件的事件处理程序)上完成的“事件”(即)具有相同事件('click'
)的事件处理程序的元素的所有祖先(并且其“捕获”参数设置为false
) 也执行。
现在我想将其修改为:对于在我们的子元素上完成的“事件”(有或没有该事件的事件处理程序),该元素的所有祖先都具有对子元素执行的相同事件的事件处理程序element ( 'click'
) (并且其 'capture' 参数设置为false
)也执行。
解决方案
推荐阅读
- python - 使用github api获取python中存储库的加班星数
- dialogflow-cx - Dialogflow CX - 从 webhook 转换到另一个页面
- java - 使用 Gson 访问 Json 中的嵌套列表
- html - 图像不会出现在本地主机上
- php - 下面的php mysqli连接阻塞代码?
- permalinks - 终极会员资料永久链接基础定制
- kafka-rest - 使用 kafka REST 代理响应负载中的自定义响应内容进行响应
- javascript - Visual Studio 2019 Javascript Intellisense 无法用于添加到在 ASP.NET WebForms 项目中的另一个脚本中定义的对象的属性
- c++ - 仅当在 user32.lib 之后链接 raylib.lib 时,Visual Studio 链接错误“CloseWindow 已定义”
- css - 让子 HTML 元素垂直和水平填充它的父容器 - (CSS & Flexbox)