jQuery on() 方法
实例
将单击事件附加到 <p> 元素:
<!DOCTYPE html><html><head><script src="https://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script><script>$(document).ready(function(){$("p").on("click", function(){alert("段落被点击!");});});</script></head><body><p>点击这个段落</p></body></html>
定义与用法
on() 方法为所选元素和子元素附加一个或多个事件处理程序。
从 jQuery 1.7 版开始,on() 方法是 bind()、live() 和 delegate() 方法的新替代方法。这种方法为 API 带来了很多一致性,我们建议您使用这种方法,因为它简化了 jQuery 代码库。
注意:使用 on() 方法附加的事件处理程序将适用于当前和未来的元素(如脚本创建的新元素)。
提示:要删除事件处理程序,请使用 one() 方法。
提示:要附加只运行一次的事件,然后将其自身删除,请使用 one() 方法。
语法
$(selector).on(event,childSelector,data,function,map)
| 参数 | 描述 |
|---|---|
| event | 必填。指定要附加到选定元素的一个或多个事件或名称空间 多个事件值由空格分隔。必须是有效的事件 |
| childSelector | 可选。指定事件处理程序只应附加到指定的子元素(而不是选择器本身,如弃用的 delegate() 方法) |
| data | 可选。指定要传递给函数的其他数据 |
| function | 必填。 指定事件发生时要运行的函数 |
| map | 指定事件映射({event:function, event:function,…}) 包含一个或多个要附加到选定元素的事件,以及事件发生时要运行的函数 |
更多实例
演示如何附加多个事件
演示如何使用 map 参数附加多个事件处理程序
演示如何在元素上附加自定义事件
演示如何将数据传递给函数
演示如何为将来的元素添加事件处理程序
如何使用 off() 方法删除事件处理程序。