2014-05-17 3 views
0

버튼을 클릭해도 focus 이벤트가 발생하는 이유는 무엇입니까?왜 버튼을 클릭하면 초점이 맞습니까?

만약 내가이

$('button').on('click', function(e){ 
    console.log('This was a ' + e.type); 
}); 
$('button').on('focus', function(e){ 
    console.log('This was a ' + e.type); 
}); 

및 HTML

<button>Click me</button> 

I 버튼을 클릭

, 두 이벤트 화재 ... 왜?

http://jsfiddle.net/PACXn/

+4

포커스가 발생합니다. 당신이 그것을 클릭했을 때 당신은 또한 그것을 활성화합니다. 아마 당신은'mouseenter' 이벤트를 찾고 있습니까? –

+0

클릭 만하면 어떤 것이고 어떤 것이 클릭인지 알 수 있습니다. –

+0

개체를 클릭하면 포커스가 변경된 것입니다. 이 이벤트가 발생하는 것은 자연스러운 일입니다. – Havenard

답변

1

<button>는 항상 포커스 이벤트를 (때 당신이 그것을 클릭) 화재 때문에. 당신이 http://api.jquery.com/focus/

에서 읽을 수 있듯이 "포커스 이벤트가 포커스를 얻어 요소로 전송됩니다.이 이벤트 는 형태 요소 (<input>, <select> 등 같은 요소의 제한된에 암시 적으로 적용 .) 및 링크 (<a href>). "

1

버튼에 포커스가있을 때 버튼이 활성화됩니다. 클릭하면 활성화됩니다.

당신은 이벤트 같은 인간 초점을 시뮬레이션 mouseenter 이벤트를 사용할 수 있습니다 그 버튼이 활성화되면 버튼에

$('button').on('mouseenter', function(e){ 
    console.log('This was a ' + e.type); 
}); 
관련 문제