5
我正在使用karma測試用例測試angularjs中的焦點事件。但是這個元素並沒有得到關注。當我做element.focus()並檢查元素 是否爲焦點時,我得到錯誤。並且document.activeElement在那時是整個身體。Karma測試用例:焦點事件
請提出解決方案。由於
我正在使用karma測試用例測試angularjs中的焦點事件。但是這個元素並沒有得到關注。當我做element.focus()並檢查元素 是否爲焦點時,我得到錯誤。並且document.activeElement在那時是整個身體。Karma測試用例:焦點事件
請提出解決方案。由於
(此答案由Testing for focus an AngularJS directive啓發)
您需要將您的元素添加到文檔正文爲了document.activeElement發揮它。
你打電話element.focus()
之前,這樣做:
element.appendTo(document.body);
另外,如果你這樣做是在單元測試中我會建議您在測試之後刪除元素,否則每次測試都會添加另一個元素身體(它可能會影響你的其他測試的結果)。
afterEach(function() {
element.remove();
}
這對我(主要)工作。我沒有使用JQuery,所以'element.appendTo'沒有切斷它。我需要做'document.body.appendChild(element [0]);' – mgilson