与使用livequery相比,多次调用函数

时间:2011-06-21 01:24:16

标签: javascript jquery javascript-events coding-style

你们中许多人可能遇到过这种情况。例如,您有一个jQuery淡入淡出效果,可以通过链接触发鼠标。在某些时候,您通过ajax在文档中添加新链接,因此您还需要将淡入淡出效果应用于它们。

有两种可能性:

  • 在ajax完成后再次调用淡入淡出功能
  • 您在初始document.ready函数中使用类似livequery的内容来应用链接上的淡入淡出

您会选择哪种方法?为什么?

2 个答案:

答案 0 :(得分:3)

livequery增加了开销,除非您无法访问添加动态元素的javascript,否则这些开销是不必要的。

如果您正在讨论触发淡入淡出的事件处理程序,那么您可以使用jQuery的事件委派功能delegate()[docs]方法(首选)live()[docs]方法。

如果你不是在谈论事件处理程序,那么我肯定会在回调AJAX请求时自己应用代码。 livequery很光滑,但在我看来应该是绝对的最后手段。

答案 1 :(得分:1)

jquery有一个本机函数,可以在不需要额外插件的情况下执行此操作。见$.live()

编辑:此外,你的第一个选项看起来像代码闻到我。保持干燥并使用$.live()