Javascript 确定输入焦点是由于自动聚焦还是由于用户交互

Javascript 确定输入焦点是由于自动聚焦还是由于用户交互,javascript,html,focus,dom-events,onfocus,Javascript,Html,Focus,Dom Events,Onfocus,我的页面的第一个输入元素在焦点事件中执行操作。但是,我只想在用户由于单击、选项卡等原因故意手动聚焦框时执行此操作。我不希望浏览器的默认自动聚焦操作触发此操作 有没有办法区分这两者的区别?给定启用了自动对焦的元素: <input autofocus> 自动对焦不会触发对焦事件。这似乎与我看到的不一致。自动对焦未启用。它只是DOM中的第一个输入字段,因此是默认的自动聚焦字段。使用这样的标志也会让人感觉不舒服,因为即使设置了autofocus属性,字段也有可能无法自动获得焦点。如果没有a

我的页面的第一个输入元素在焦点事件中执行操作。但是,我只想在用户由于单击、选项卡等原因故意手动聚焦框时执行此操作。我不希望浏览器的默认自动聚焦操作触发此操作

有没有办法区分这两者的区别?

给定启用了
自动对焦
元素:

<input autofocus>

自动对焦不会触发对焦事件。

这似乎与我看到的不一致。
自动对焦
未启用。它只是DOM中的第一个输入字段,因此是默认的自动聚焦字段。使用这样的标志也会让人感觉不舒服,因为即使设置了
autofocus
属性,字段也有可能无法自动获得焦点。如果没有
autofocus
属性,字段何时才能获得自动焦点?你有这样的代码吗?关于标志,具有
自动对焦
的字段何时不能自动对焦?(如果多个字段都有该属性,我想这将是一个问题,但我不确定您为什么想要这样做。)
const input = document.querySelector('input');

input.addEventListener('focus', e => {
  // Ignore the first, automatic focus event
  if (e.target.autofocus) {
    e.target.autofocus = false;
    return;
  }

  // ... Handle user-triggered focus events ...
});