综合触发点击不会导致焦点切换到元素,但硬件触发的点击会。
我正在尝试模拟对一个元素(比如带有 tabindex 的 div)的合成点击,该元素在焦点上有一个回调绑定(bind)。我不想明确地调用元素上的焦点,因为元素可以通过单击或键盘选项卡获得焦点。
我的 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;
}
最佳答案
没有硬件点击这样的东西。
焦点发生在鼠标按下时。
如果鼠标在同一个元素上释放,那么您还会得到一个点击事件。
关于javascript - 为什么综合触发点击不会聚焦元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23469429/