Подтвердить что ты не робот

Разница в производительности между jQuery.live('click', fn) и .click(fn)

Мне нравится новое живое событие в jQuery 1.3. У меня есть вопрос о производительности этого события. Я знаю преимущества использования live over click/bind ('click'), но есть ли производительность для использования его по клику/привязке ('click')?

Если нет, зачем вам использовать клик или привязку ('click')?

4b9b3361

Ответ 1

Если нет, зачем вам использовать клик или bind ('click')?

Потому что $. live() имеет некоторые существенные недостатки

  • Живые события не пузырятся традиционным способом, а не может быть перестали использовать stopPropagation (это было изменено в jQuery 1.4.4) или stopImmediatePropagation. Например, рассмотрим случай двух кликов - один связан с "ли" и еще один "li a". Если на внутреннем будут выведены якорные BOTH события. Это происходит потому, что когда $( "li" ). bind ("click", fn); связан вы на самом деле говорите: "Всякий раз, когда событие щелчка происходит на элементе LI - или внутри элемента LI - вызвать это щелкните событие". обработка для живого события, fn должно return false.
  • Живые события в настоящее время работают только при использовании с селектором. Для Например, это сработало бы: $( "li a" ). live (...), но это не будет: $( "a", someElement).live(...) и и это не будет: $( "А" ). Родитель(). Жить (...).

Ответ 2

См. this.

Что касается того, почему вы будете использовать клик или привязку вместо живого, ответ будет вызван тем, что вам не нужны дополнительные функции.