Javascript 为什么单击按钮会触发焦点?

Javascript 为什么单击按钮会触发焦点?,javascript,jquery,html,Javascript,Jquery,Html,为什么单击一个按钮也会触发一个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> 点击我 当我点击按

为什么单击一个按钮也会触发一个
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>
点击我
当我点击按钮时,两个事件都会触发。。。为什么?

因为
总是触发焦点事件(当您单击它时)。正如你在

“焦点事件在获得焦点时发送到元素。此事件 隐式地适用于有限的元素集,例如表单 元素(
等)和链接(
)。”


当按钮处于活动状态时,会将焦点集中在该按钮上。当你点击它时,你也会激活它

您可以使用
mouseenter
事件来模拟类似人类焦点的事件:

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

当按钮处于活动状态时,会将焦点集中在该按钮上。当你点击它。。您还可以使其处于活动状态。也许您正在寻找
mouseenter
event?只需单击并等待,您就会知道什么是焦点,什么是单击。单击对象也意味着您将焦点更改为它。触发此事件是很自然的。如果不先通过鼠标、键盘或任何其他方式关注按钮,您希望如何单击按钮?@bansi那么,为什么
div
元素中也不存在这种行为呢?