Monday, June 15, 2009

Особенность событий в jQuery.

Насмотрелся всяких тут умных людей

и полез искать где бы соптимизировать в своих скриптах.
Сегодня замеряя скорость выполнения тех или иных кусков кода JS скриптов заметил такую штуку в случае добавления событий. Есть вот такой вариант №1.

$('#id').change(Obj.EventMethod);


и вариант №2

$('#id').change(function(){
console.log("CHANGE");
});


Кажется ничего особо их не отличает, если вы знакомы с jQuery. Но есть больше НО!. Каждый раз при выполнении кода из варианта №2 в очередь событий добавляется копия функции передаваемой как параметр. Соответственно в случае возникновения события "change" ("change" в приведенном случае) наша функция выполнится столько раз, сколько она была добавлена. Лично я этого незнал, но и таких случаев с многократным добавлением событий я пока что не нашел.

Так что используйте это дело аккуратно.

0 comments:

Post a Comment