【发布时间】:2019-04-10 00:54:38
【问题描述】:
这是一个代码笔来演示我所看到的: https://codepen.io/anon/pen/zMvxPy
HTML:
<input type="text" />
JS:
$('input').on('focus', () => {
console.log('focused...')
});
$('input').focus();
在 Chrome 上,文本输入将获得焦点并触发“焦点”事件。 在 Firefox (63.0.1) 上,文本输入没有焦点,也没有触发焦点事件。
但是,您可以单击文本输入,“焦点”事件将正确触发。
关于为什么 .focus() 方法没有在 Firefox 中触发“focus”事件的任何解释...?
注意:我知道调用 .focus() 可以通过单击按钮(如在https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#Focus_on_a_text_field 中)来工作,但此示例用于在初始页面加载期间调用 .focus()。
【问题讨论】:
-
每当您观察到特殊行为时,我总是尝试的第一件事就是不使用 jQuery,因为 jQuery 在原生 DOM API 事件之上有自己的事件系统。
标签: javascript firefox