registered
Создатель
- Регистрация
- 13 Апр 2012
- Сообщения
- 45
- Реакции
- 4
- Автор темы
- #1
собственно, вопрос: как забиндить несколько обработчиков на одно событие?
в частности, интересует jQuery(document).mousemove();
пробую вот такой код, использующий собственное пространство имён для каждого нового обработчика:
settings - это объект с параметрами, с которыми я вызываю плагин.
он организован в массив, так как событие должно влиять на несколько объектов.
в частности, там содержится селектор объекта, которому достанется от перемещения мыши.
callerObj - массив инициализационных параметров для каждого объекта, ну и сами объекты там есть.
однако, срабатывает только последний bind.
то есть, если
и
то сработает только
в частности, интересует jQuery(document).mousemove();
пробую вот такой код, использующий собственное пространство имён для каждого нового обработчика:
Код:
doBind = function(){
for (var key in settings.element) {
if (typeof(callerObj[key]) != 'undefined'){
var eventStr = 'mousemove.' + settings.element[key]['selector'];
jQuery(document).bind(eventStr, function(e){
alert('забиндили функцию # ' + key + ' на document.' + eventStr);
//ну и что-то ещё делаем
}); //end of bind
}
} //end of for
}
он организован в массив, так как событие должно влиять на несколько объектов.
в частности, там содержится селектор объекта, которому достанется от перемещения мыши.
callerObj - массив инициализационных параметров для каждого объекта, ну и сами объекты там есть.
однако, срабатывает только последний bind.
то есть, если
Код:
settings.element[0]['selector'] = 'body';
Код:
settings.element[1]['selector'] = '#some_selector';
Код:
jQuery(document).bind('mousemove.#some_selector', function(e){
//code
});