angularjs – 业力测试案例:焦点事件

我正在使用业力测试案例测试 angularjs中的焦点事件.但要素没有得到集中.在我执行element.focus()之后,检查元素是否正确
我很专注,我很虚伪.而此时的document.activeElement就是整个身体.

请提出解决方案.谢谢

解决方法

(这个答案受到 Testing for focus an AngularJS directive的启发)

您需要将元素添加到文档正文中,以便document.activeElement可以使用它.

调用element.focus()之前,请执行以下操作:

element.appendTo(document.body);

此外,如果您在单元测试中执行此操作,我建议您在测试后删除元素,否则每个测试都会向主体添加一个元素(这可能会影响您的其他测试结果).

afterEach(function () {
    element.remove();
}

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...