То же событие jQuery, отдельная функция - PullRequest
7 голосов
/ 07 июня 2011

Скажите, что у меня есть функция, которую нужно выполнить на $(document).mousemove().Затем я решаю, что у меня есть другая функция, которая должна выполняться для того же события.Возможно, эти две функции не связаны, поэтому во имя модульности можно было бы иметь две отдельные функции для прослушивания $(document).mousemove().

Это плохая форма?Есть ли последствия для производительности?

Ответы [ 3 ]

2 голосов
/ 07 июня 2011

jQuery будет автоматически добавлять события в цепочку, поэтому проблем с дублированием определений обработчиков для одного и того же события не возникает.Если вы можете разумно объединить два определения обработчика в одно, то в этом подходе определенно нет ничего плохого, но в этом нет особой ценности, кроме, возможно, читабельности.

0 голосов
/ 07 июня 2011

Конечно, если вы решите установить 1000 функций для прослушивания одного события, я бы сказал что-то не так с вашим дизайном, но для меня две функции просто в порядке

Я бы использовал обработчики пространства имен, чтобы сохранить удобство обслуживания, по крайней мере, если бы Сент-Джон разработал его в jQuery, его стоит использовать в некоторых случаях. так Вы делаете это:

$(elem).bind('mousemove.ns1', funcOne);
$(elem).bind('mousemove.ns2', funcTwo);

таким образом, вы также можете отсоединять по одному

$(elem).unbind('mousemove.ns1');
$(elem).unbind('mousemove.ns2');

Или даже

$(elem).unbind('.ns1');
0 голосов
/ 07 июня 2011

Разве вы не можете просто сделать это? Если я не понимаю ваш вопрос

$(document).mousemove(function(){
    callOneFunction();
    callTwoFunction();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...