jQuery on() 方法
定义和用法
on() 方法为选定的元素及其子元素附加一个或多个事件处理程序。
从 jQuery 1.7 版本开始,on() 方法取代了 bind()、live() 和 delegate() 方法。此方法为 API 带来了很多一致性,我们建议您使用此方法,因为它简化了 jQuery 代码库。
注意:使用 on() 方法附加的事件处理程序将适用于当前元素和未来的元素(例如由脚本创建的新元素)。
提示:要移除事件处理程序,请使用 off() 方法。
提示:要附加仅运行一次然后自动移除自身的事件,请使用 one() 方法。
语法
$(选择器).on(事件,子选择器,数据,函数,映射)
参数 | 描述 |
---|---|
事件 | 必需。指定一个或多个要附加到所选元素的事件或命名空间。 多个事件值用空格分隔。必须是有效的事件 |
子选择器 | 可选。指定事件处理程序仅应附加到指定的子元素(而不是选择器本身,例如已弃用的 delegate() 方法)。 |
数据 | 可选。指定要传递给函数的其他数据 |
函数 | 必需。指定事件发生时要运行的函数 |
映射 | 指定一个事件映射 ({事件:函数, 事件:函数, ...}),其中包含一个或多个要附加到所选元素的事件,以及事件发生时要运行的函数 |
亲自试一试 - 示例
附加多个事件
如何将多个事件附加到元素。
使用 map 参数附加多个事件处理程序
如何使用 map 参数将多个事件处理程序附加到所选元素。
在元素上附加自定义事件
如何在元素上附加自定义命名空间事件。
将数据传递给函数
如何将数据传递给函数。
为未来的元素添加事件处理程序
显示 on() 方法也适用于尚未创建的元素。
移除事件处理程序
如何使用 off() 方法移除事件处理程序。