如果绑定多个事件,我可以确定在jQuery中触发事件处理程序的事件是什么?

时间:2010-08-20 00:51:58

标签: javascript jquery javascript-events

检查此示例......

$('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 个答案:

答案 0 :(得分:4)

您可以在event.type(传递给处理程序的第一个参数)上使用event object,如下所示:

$('button').bind('click focus', function(e) {
  if(e.type == "click") {
    //do something, it was a click
  }
});