我发现很难focusin
为测试套件手动触发仅使用 Javascript(无 jQuery)的事件。
显然,当浏览器没有焦点时(只能在测试中发生),我想自己模拟focusin
事件。
我发现CustomEvent
构造函数有效
var event = new CustomEvent('focusin', { bubbles: true, cancelable: false });
this.dispatchEvent(event);
但我需要制作这个 IE9+。老式的方法似乎行不通。
var event = document.createEvent('Event');
event.initEvent('focusin', true, false);
this.dispatchEvent(event);
AFAIK 这两种结构在功能上应该是等效的,但显然这不是真的。当浏览器的窗口没有焦点时,在 Chrome/Firefox/Safari 中进行了测试。
第二个片段有问题吗?