jquery事件委托
jQuery 事件委托的概念
事件委托是一种利用事件冒泡机制,将子元素的事件处理程序绑定到父元素上的技术。通过这种方式,可以动态处理新增的子元素事件,避免重复绑定,提升性能。

基本语法
使用 on() 方法实现事件委托,语法如下:

$(父元素选择器).on(事件类型, 子元素选择器, 回调函数);
事件委托的优势
- 动态元素支持:无需为新增的子元素重新绑定事件。
- 性能优化:减少事件处理程序的数量,节省内存。
- 简化代码:统一管理事件逻辑,避免重复代码。
示例代码
假设有一个动态列表,需要为列表项绑定点击事件:
<ul id="parentList">
<li>Item 1</li>
<li>Item 2</li>
</ul>
$("#parentList").on("click", "li", function() {
alert($(this).text()); // 点击任意 li 时触发
});
注意事项
- 事件委托依赖事件冒泡,阻止冒泡(
event.stopPropagation())会导致委托失效。 - 选择器应尽量精确,避免因父元素范围过大而误触发事件。
- 旧版 jQuery 使用
delegate()方法,但on()是更现代的替代方案。
与直接绑定的对比
// 直接绑定(仅对现有元素有效)
$("li").click(function() { ... });
// 事件委托(对现有和未来元素有效)
$("#parentList").on("click", "li", function() { ... });
通过事件委托,可以高效处理动态内容的事件交互,适用于列表、表格等频繁更新的场景。






