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() 方法删除事件处理程序。