Живой jQuery замедляют веб-сайты?

Выполните его через прокси и контролируйте трафик с помощью Wireshark.

6
задан Matthew Groves 17 September 2009 в 12:44
поделиться

3 ответа

Прочтите здесь , чтобы увидеть красивую презентацию, посвященную делегированию событий jQuery.

Прочитав вышесказанное, посмотрите на это:

// using jQuery 1.4.2
(function($){
    // You can cache the container you plan on using for event delegation.
    //   If using $(document).ready(...) to call the below functions
    //     your "container" element should already exist in the DOM
    //   (the .specialAjaxLink elements don't have to exist yet).
    var container = $("#container");

    // whenever an element with the class "specialAjaxLink" is clicked
    // while inside your container element execute the handler on them.
    container.delegate(".specialAjaxLink", "click", function(){
        // do something amazing...
        solveWorldHunger(this);
        // stop propagation and prevent default...
        return false;
    });
}(jQuery));

Вам не нужно беспокоиться о проблемах с производительностью при использовании вышеупомянутого метода, если только вы не создаете такое сложное приложение, как gmail, docs или google wave.

6
ответ дан 16 December 2019 в 21:43
поделиться

i always, as a rule, call unbind() before bind()

2
ответ дан 16 December 2019 в 21:43
поделиться

Вместо использования .live () рассмотрите возможность использования делегирования событий. Прослушайте событие внутри контейнера, затем проверьте тег и атрибуты, чтобы решить, как с ним обращаться.

Намного эффективнее, если вы добавляете кучу элементов в DOM.

0
ответ дан 16 December 2019 в 21:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: