Вызов функций несколько раз по сравнению с использованием livequery - PullRequest
3 голосов
/ 21 июня 2011

Многие из вас, вероятно, сталкивались с этой ситуацией.Например, у вас есть эффект затухания jQuery, который срабатывает при наведении мыши на ссылку.В какой-то момент вы добавляете новые ссылки в документ через ajax, поэтому вам также необходимо применить к ним эффект затухания.

Существует две возможности:

  • вы вызываете функцию затуханияснова после завершения ajax
  • вы используете что-то вроде livequery в исходной функции document.ready, чтобы применить постепенное исчезновение к ссылкам

Какой метод вы бы выбралиа почему?

Ответы [ 2 ]

3 голосов
/ 21 июня 2011

livequery добавляет накладные расходы, которые просто не нужны, если только у вас просто нет доступа к javascript, который добавляет динамические элементы.

Если вы говорите об обработчиках событий, которые запускают затухание,тогда вы можете использовать jQuery делегирование событий возможности delegate() [документы] метод (предпочтительно) илиметод live() [документы] .

Если вы не говорите об обработчиках событий, то я бы определенно согласился сприменение кода самостоятельно в обратном вызове к запросу AJAX.livequery гладко, но, по моему мнению, должно быть абсолютным последним средством.

1 голос
/ 21 июня 2011

jquery имеет встроенную функцию, которая делает это без необходимости дополнительного плагина.см. $. live ()

Редактировать: кроме того, ваш первый вариант кажется мне запахом кода.держать его сухим и использовать $.live()

...