Jquery在(live)vs on(bind)上的最佳表现

时间:2012-09-17 08:04:27

标签: jquery performance bind live jquery-on

我有一个关于使用作为前者的表现和使用作为前绑定的表现的问题。

我的问题是,如果我们必须在dom中创建多个(比如数百个)元素并在每个元素上添加一个事件,那么在性能方面有什么更好的选择:

  • 使用'on'作为实时
  • 每次我们创建一个元素作为绑定时使用'on'

感谢您的回复。

2 个答案:

答案 0 :(得分:0)

live()是邪恶的。如果使用jQuery 1.7+,请使用on()方法。检查first google result上有关于()vs live()的解释和性能图表,并了解为什么live()不好

答案 1 :(得分:0)

我已经对jsperf进行了一些测试,看起来像'live'使用的'on'比使用每个元素上的绑定'on'更好。 我还添加了一个测试,其中'on'用作'bind',但在插入结束时直接在父节点上关闭所有元素(如果我们单击一个元素,则在回调中测试)。

http://jsperf.com/jquery-on-as-former-live-vs-on-bind-on-element-vs-on-bi

测试表明,作为'实时'解决方案和'父'上的'绑定'在性能方面非常相同。