jquery bind(), live(), delegate()的区别

时间:2020-05-01

bind()

bind() 方法为被选元素添加一个或多个事件处理程序,并规定事件发生时运行的函数。

$("button").bind("click",function(){
  $("p").slideToggle();
});

live()

为被选元素附加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。

通过 live() 方法附加的事件处理程序适用于匹配选择器的当前及未来的元素(比如由脚本创建的新元素)。

$("button").live("click",function(){
  $("p").slideToggle();
});

delegate()

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

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

$("div").delegate("button","click",function(){
  $("p").slideToggle();
});