焦点事件不会在输入字段上触发(没有 jQuery)

Focus event doesn't fire on input fields (no jQuery)

出于某种原因,以下代码仅在 window 获得焦点时触发,但在输入字段或任何其他元素(无论它们是否具有 tabindex 或没有)获得焦点时不会触发。

我不想使用 someElement.addEventListener 方法,因为在添加事件侦听器时元素未附加到视图。

var handleFocus = function(event) {
   var el = event.target;
   console.log(el);
}

addEventListener('focus', handleFocus, false);

我基本上需要监听任何输入字段何时被聚焦。我想将它应用到父级 window 的原因是表单字段在不同时间添加和从视图中删除 (Aurelia)。

当事件触发时,我希望能够读取目标的属性,以了解我需要采取什么行动。

任何帮助都将是超级...

原来您需要将 'useCapture' 选项设置为 true。如果您想了解更多关于 'useCapture' 选项的信息,this Whosebug question 比 MDN 做得更好。

只是意味着我不得不改变这个:

addEventListener('focus', handleFocus, false);

...为此:

addEventListener('focus', handleFocus, true);