2014-05-17 35 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> 

當我點擊該按鈕,這兩個事件火......爲什麼?

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); 
}); 
相關問題