2010-08-20 3 views
1

확인이 예 ... 여러 이벤트를 바인드하면 jQuery에서 이벤트 핸들러가 트리거되는 이벤트를 결정할 수 있습니까?

$('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); 
} 

답변

4

이처럼 event objectevent.type을 사용하여 (첫 번째 PARAM 핸들러에 전달) 할 수 있습니다

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

감사합니다. Nick! 너는 매우 도움이된다! – alex

관련 문제