3

我发现很难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 中进行了测试。

第二个片段有问题吗?

4

0 回答 0