delegate(s,[t],[d],fn)
返回值
jQuery
概述
指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。
jQuery 3.0中已弃用此方法,请用 on()代替。
使用 delegate() 方法的事件处理程序适用于当前或未来的元素(比如由脚本创建的新元素)。
参数
示例
示例一
描述:当点击鼠标时,隐藏或显示 p 元素:
HTML 代码
<div style="background-color:red"><p>这是一个段落。</p><button>请点击这里</button></div>
jQuery 代码
$("div").delegate("button","click",function(){
$("p").slideToggle();
});
示例二
描述:delegate这个方法可作为live()方法的替代,使得每次事件绑定到特定的DOM元素。
以下两段代码是等同的:
$("table").delegate("td", "hover", function(){
$(this).toggleClass("hover");
});
$("table").each(function(){
$("td", this).live("hover", function(){
$(this).toggleClass("hover");
});
});