2014-05-05 150 views
0

綜合觸發點擊不會導致焦點切換到元素,但是由硬件觸發的點擊確實如此。爲什麼綜合觸發點擊不會集中元素?

我想模擬合成點擊一個元素(說div與tabindex),其中有一個回調綁定焦點。我不想明確地調用元素的焦點,因爲元素可以通過單擊或鍵盤選項卡獲得焦點。

JSFiddle

代碼

$('button.trigger').click(function(){ 
    $('div#target').trigger('click'); 
}); 

$('button.trigger1').click(function(){ 
    var event = new MouseEvent('click'); 
    var target = document.getElementById('target'); 
    target.dispatchEvent(event); 
}); 

$('div#target').click(function(){ 
    $(this).addClass('selected'); 
}); 

HTML

<div id="target" tabindex="-1"></div> 
<button class="trigger">Click to trigger click</button> 
<button class="trigger1">Click to dispatch click</button> 

CSS

div{ 
    height:100px; 
    width:100px; 
    border:10px solid black; 
} 

#target:focus{ 
    background-color:#aaa; 
} 
.selected{ 
    border-color:red; 
} 
+2

觸發器只是重新執行設計的處理程序。 – user3455395

+1

你想要元素來關注,但不想使用'.focus()'?這沒有意義。 – JJJ

回答

3

有沒有硬件點擊這樣的事情。

焦點發生在鼠標向下。

如果鼠標放在相同的元素上,那麼您還會得到一個單擊事件。

相關問題