js 事件委托(事件代理) 思路解析
事件委托
简单来说就是 将事件委托给父级处理
默认事件的传播方式是冒泡,即子级产生一个事件会逐级的向父级传播,有响应的响应函数就会被触发。
event 的target属性 可以获得冒泡的首层
基于这两个基本概念,我们可以在父级设置响应函数来处理子级的事件
也就是说我们可以在父级统一管理子级的事件 也就是代理
function changeTag(e) {
let target = e.target || e.srcElement;
if (target.tagName.toLowerCase() === "li") {
let lis = document.querySelectorAll("ul li")
let index = Array.prototype.indexOf.call(lis, target)
alert(target.innerHTML + index)
}
}
这有什么好处呢
可以整合子级相同的事件处理,减少dom操作,提高效率
另外新增的子级不必再添加事件处理
内容会不断更新,欢迎批评指正。
分类:
# JavaScript
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)