格式:delegate(childselector,[events],[data],fn)
参数含义:
childselector:最终绑定事件的元素
events:要绑定的事件,多个用空格隔开
data:传递给fn的参数
fn:事件处理函数
功能:为元素childselector(属于被选元素的后代元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数.适用于当前或未来的元素(比如由脚本创建的新元素)。
undelegate([selector,[type],fn]):解除事件绑定
例子:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>delegate</title>
</head>
<body>
<ul>
<li>
<div>
<span>苹果</span>
<span>香蕉</span>
<span>梨子</span>
</div>
</li>
<li>
<div>
<span>中国</span>
<span>巴基斯坦</span>
<span>俄罗斯</span>
</div>
</li>
</ul>
<input type="button" id="btn" value="解除undelegate">
</body>
</html>
jquery使用delegate和undelegate绑定事件和解除事件绑定的代码:
<script type="text/javascript" src="jquery-1.12.4.min.js"></script>
<script type="text/javascript">
$(function(){
$("ul").delegate("span","click",function(){
var txt=$(this).text();//this指的是最终被绑定事件的元素span
alert(txt);
});
$("#btn").click(function(){
$("ul").undelegate();
});
});
</script>