bind, delegate, live 三者的区别
简单总结如下:
- bind 直接绑定 handler 于元素上
- delegate 绑定事件在父级元素上
- live 绑定于 document 之上
为啥有了 bind 还需要 delegate ?
使用 deletegate 不需要为每一个元素都绑定事件处理器,并能处理动态创建的元素的 dom 事件。
为啥 delegate 优于 live?
它只作用于靠近目标目标元素的父级元素上,不需要冒泡到 document,在需要的时候可以停止冒泡事件;live 需要绑定于特定的 css 选择器,而 delegate 不需要,灵活性更高。
为啥还要用 live?
一般用于作用广泛的全站事件,比如 hovercard。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步