我正在使用业力测试案例测试
angularjs中的焦点事件.但要素没有得到集中.在我执行element.focus()之后,
检查元素是否正确
我很专注,我很虚伪.而此时的document.activeElement就是整个身体.
请提出解决方案.谢谢
(这个答案受到
Testing for focus an AngularJS directive的启发)
您需要将元素添加到文档正文中,以便document.activeElement可以使用它.
在调用element.focus()之前,请执行以下操作:
element.appendTo(document.body);
此外,如果您在单元测试中执行此操作,我建议您在测试后删除元素,否则每个测试都会向主体添加另一个元素(这可能会影响您的其他测试结果).
afterEach(function () {
element.remove();
}