Я испытываю странное поведение с jQuery при попытке присоединить более одного обработчика событий к одному событию.
Как мне связать два разных обработчика событий с одним и тем же событием?
$(this).focus(function(){/*...*/});
$(this).focus(function(){/*...*/}); // replaces the previous one?
Что мне не хватает?
Обновлять
Знаете ли вы, влияет ли это на маршрутизацию данных событий? Похоже, что добавление второго обработчика событий приводит к тому, что свойство eventObject.data
возвращает undefined
...?
Эпилог
Проблема была как-то связана с тем, как jQuery нормализует обработку событий и как свойство данных eventObject
менялось в зависимости от маршрутизации, у меня был таймер задержки в какой-то момент, который читал свойство позже, когда оно было неопределенным, я решил это, просто создав локальный временный для него.
obj.inputText.bind('blur', obj, function(e) {
var div = e.data.div;
setTimeout(function() { div.hide(); }, 333); // works!
// setTimeout(function() { e.data.div.hide(); }, 333); // does not work
});