jQuery delegate() 方法
实例
单击 <div> 元素中的 <p> 元素时,更改所有 <p> 元素的背景色:
<!DOCTYPE html>
<html>
<head>
<script src="https://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("div").delegate("p", "click",function(){
$("p").css("background-color", "pink");
});
});
</script>
</head>
<body>
<div style="background-color:yellow;">
<p>这是 div 元素中的一段</p>
</div>
<p>这是一个段落</p>
</body>
</html>
定义与用法
delegate()
方法在 3.0 版中被弃用。改用 on() 方法。
delegate()
方法为作为选定元素的子元素的指定元素附加一个或多个事件处理程序,并指定事件发生时要运行的函数。
使用 delegate()
方法附加的事件处理程序将适用于当前和未来的元素(如脚本创建的新元素)。
语法
$(selector).delegate(childSelector,event,data,function)
参数 | 描述 |
---|---|
childSelector | 必填。指定要将事件处理程序附加到的一个或多个子元素 |
event | 必填。 指定要附加到元素的一个或多个事件。 多个事件值用空格分隔。必须是有效的事件 |
data | 可选。指定要传递给函数的其他数据 |
function | 必填。指定事件发生时要运行的函数 |