我发现使用javascript(没有jQuery)为测试套件手动触发focusin事件非常困难。
显然当浏览器没有焦点时(只能在测试中发生)我想自己模拟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中测试。
第二个片段有什么问题吗?