有什么方法可以知道一个元素是否使用Dalek.js聚焦

Is there any method to know if an element is focused using Dalek.js?

本文关键字:是否 元素 一个 聚焦 js Dalek 方法 什么      更新时间:2023-09-26

我正在搜索类似以下内容的内容:

assert.isFocused('input.myDefaultInput')

到目前为止,我能找到的唯一解决方法是

assert.exists('input.myDefaultInput:focus')

有没有更好的选择?

当前的 DalekJS 断言 API 没有测试元素是否具有焦点的方法。

以下帮助程序方法使用 execute 函数来断言元素是否具有使用本机 JavaScript 的焦点:

focused: function(test, selector, message) {
    return test
        .execute(function(selectorParam, messageParam){
            var expectedEl = window.document.querySelector(selectorParam);
            var activeEl = window.document.activeElement;
            this.assert.ok(expectedEl === activeEl, messageParam);
        }, selector, message);
}

我在这里的一篇博客文章中写了一篇更详细的文章:http://hady.geek.nz/blog/dalek-element-has-focus/