Могу ли я определить, какое событие вызвало обработчик событий в jQuery, если я связал несколько? - PullRequest
1 голос
/ 20 августа 2010

Проверьте этот пример ...

$('button').bind('click focus', function() {

   // Did I click or focus?
});

Есть ли способ решить эту проблему при привязке нескольких событий к одному обработчику?

Это может работать, но это некрасиво ...

var eventType;

$('button').click(function() {
   eventType = 'click';
   do();
});

$('button').focus(function() {
   eventType = 'focus';
   do();
});

function do() {
    alert(eventType);
}

1 Ответ

4 голосов
/ 20 августа 2010

Вы можете использовать event.type для объекта события (первый параметр, переданный в обработчик), например:

$('button').bind('click focus', function(e) {
  if(e.type == "click") {
    //do something, it was a click
  }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...