Что является более производительным: jQuery.live () или встроенные атрибуты onevent? - PullRequest
1 голос
/ 12 августа 2011

Я создаю мобильное приложение HTML5 с большим количеством привязок к событиям.Поскольку он также имеет большой DOM, который часто изменяется из-за привязки данных, прямая привязка событий ( jQuery.bind или addEventListener ), вероятно, не является хорошим вариантом.Каковы компромиссы между:

// jQuery.bind
$("div").live("click", fnName);

// Inline
<div onclick="fnName(this);"></div>

Хотя меня больше всего интересует конкретный контекст Mobile WebKit, мне было бы интересно узнать, как работают другие браузеры.

Ответы [ 2 ]

2 голосов
/ 12 августа 2011

Пример .live () будет намного быстрее и потреблять меньше памяти, чем версия onclick.

Каждый раз, когда вы делаете onclick="fnName(this);", вы создаете новую функцию, и тысячи идентичных функций занимают ненулевое пространство памяти. Кроме того, создание каждого div займет немного больше времени, если вы используете onclick.

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

2 голосов
/ 12 августа 2011
Говорят, что

.delegate() быстрее, чем .live(), и это может быть вариант для вас.Вы можете прочитать больше здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...