jQuery 事件 - delegate() 方法和on()方法比较

jQuery1.7中 .delegate()已被.on()取代,下面以示例的方式为大家介绍下jQuery中delegate与on的用法与区别,感兴趣的朋友可以参考下

delegate:

当点击鼠标时,隐藏或显示 p 元素:

$("div").delegate("button","click",function(){

$("p").slideToggle();

});

定义和用法

delegate() 方法为指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。

使用 delegate() 方法的事件处理程序适用于当前或未来的元素(比如由脚本创建的新元素)

语法

$(selector).delegate(childSelector,event,data,function)

参数:

childSelector  必需。规定要附加事件处理程序的一个或多个子元素。

event  必需。规定附加到元素的一个或多个事件。 由空格分隔多个事件值。必须是有效的事件。

data   可选。规定传递到函数的额外数据。

function  必需。规定当事件发生时运行的函数。

on:

$("table").on("click", "td", function() {

alert("hi");

});

on(events,[selector],[data],fn),参数[selector]是可选,一个选择器字符串用于过滤器的触发事件的选择器元素的后代。

你可能感兴趣的:(jQuery 事件 - delegate() 方法和on()方法比较)