绑定动作的更好方法是什么?

时间:2011-05-20 13:35:49

标签: jquery

$('body').delegate(".foo", 'click', function(){});

$(".foo").live('click', function(){});

我更喜欢第二种,但也许首先使用会有什么好处?

3 个答案:

答案 0 :(得分:3)

委托就像一个经过改进的live,因为它完成了与live相同的任务,但没有相关的缺点。最值得注意的是live附加到文档中并且存在链接问题。

与live相比,Delegate还具有性能优势,这是一个优势。

答案 1 :(得分:1)

取决于你的目标。存在用于不同目的的不同方法。

  • delegate()
    根据一组特定的根元素,为现在或将来与选择器匹配的所有元素的一个或多个事件附加处理程序。 委托是使用.live()方法的替代方法,允许将事件委托的每个绑定绑定到特定的DOM元素。
  • live()
    现在和将来,为当前选择器匹配的所有元素附加事件处理程序。
  • bind()
    将处理程序附加到元素的事件。

答案 2 :(得分:0)

嗯,live和delegate之间的区别是:

  
      
  • 直播功能无法使用   链接。现场功能需要   直接用在选择器/元素上。

  •   
  • 还有一个区别   绩效条款,如果上下文   未指定直播   功能。语境意味着你   在a中设置搜索限制   特定节点。如果你没有指定   具有实时功能的上下文然后它   将处理程序附加到文档   默认情况下和执行时   遍历导致DOM的DOM   性能问题。

  •