Если у вас установлена ​​последняя версия jquery, полезен ли livequery? - PullRequest
2 голосов
/ 26 октября 2009

Насколько я понимаю, livequery предназначен для поддержки ваших событий после изменений DOM.

Разве последняя сборка jquery уже поддерживает это?

Ответы [ 2 ]

7 голосов
/ 26 октября 2009

Да, это все еще полезно. live() работает только для определенных событий, в то время как livequery() может быть привязано к любому событию, предоставляемому браузером пользователя.

http://docs.jquery.com/Events/live

Возможные значения события: click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, keydown, keypress, keyup

В настоящее время не поддерживается: blur, focus, mouseenter, mouseleave, change, submit

Обратите внимание, что также не поддерживаются сенсорные события, такие как touchstart, touchend и т. Д.

2 голосов
/ 27 октября 2009

Одна полезная функция, которую livequery() предоставляет, в то время как live() - это возможность вызывать пользовательскую функцию каждый раз, когда сопоставляется новый элемент (и / или элемент больше не сопоставляется).

Из документов :

Live Query также имеет возможность запустить функцию (обратный вызов), когда она соответствует новому элементу и другому функция (обратный вызов) для когда элемент больше не соответствует. это обеспечивает максимальную гибкость и Неисчислимые варианты использования. Например, следующий код использует функцию на основе Live Query для реализации JQuery метод hover helper и удалите его, когда элемент больше не соответствует.

$('li') 
    .livequery(function(){ 
    // use the helper function hover to bind a mouseover and mouseout event 
        $(this) 
            .hover(function() { 
                $(this).addClass('hover'); 
            }, function() { 
                $(this).removeClass('hover'); 
            }); 
    }, function() { 
        // unbind the mouseover and mouseout events 
        $(this) 
            .unbind('mouseover') 
            .unbind('mouseout'); 
    });
...