jquery $.on
jQuery $.on 方法详解
jQuery 的 $.on() 方法是事件绑定的核心方法,用于为选定的元素附加一个或多个事件处理函数。以下是其使用方法和注意事项:
基本语法
$(selector).on(eventName, handler);
selector: 目标元素的选择器。eventName: 事件名称(如"click"、"mouseenter")。handler: 事件触发时执行的函数。
示例:绑定点击事件
$("#button").on("click", function() {
alert("Button clicked!");
});
委托事件语法
$(parentSelector).on(eventName, childSelector, handler);
通过事件委托,动态添加的子元素也能触发事件:

$("#list").on("click", "li", function() {
$(this).toggleClass("active");
});
多事件绑定
用空格分隔事件名,同时绑定多个事件:

$("#element").on("click mouseenter", function() {
console.log("Event triggered");
});
传递数据
通过 data 参数传递额外数据给事件处理函数:
$("#btn").on("click", { key: "value" }, function(event) {
console.log(event.data.key); // 输出 "value"
});
命名空间
为事件添加命名空间,便于管理:
$("#elem").on("click.namespace", handler);
// 解绑特定命名空间事件
$("#elem").off("click.namespace");
注意事项
- 动态生成的元素需通过事件委托绑定。
- 避免过度使用命名空间,防止代码难以维护。
- 使用
off()方法解绑事件,防止内存泄漏。
与 .bind() 的区别
.on()是 jQuery 1.7+ 推荐的事件绑定方法,支持委托事件。.bind()无法处理动态添加的元素,已逐渐被弃用。
通过灵活使用 $.on(),可以实现高效的事件管理,尤其适合动态内容较多的页面。






