有没有方法可以知道元素是否使用Dalek.js进行聚焦?

时间:2013-09-28 17:39:05

标签: javascript dalekjs

我正在寻找类似的东西:

assert.isFocused('input.myDefaultInput')

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

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

还有更好的选择吗?

1 个答案:

答案 0 :(得分:2)

当前的DalekJS assertions 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/