【问题标题】:Is there any method to know if an element is focused using Dalek.js?有什么方法可以知道一个元素是否使用 Dalek.js 聚焦?
【发布时间】:2013-09-28 17:39:04
【问题描述】:

我正在寻找类似的东西:

assert.isFocused('input.myDefaultInput')

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

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

还有更好的选择吗?

【问题讨论】:

  • 从文档看来,似乎没有这样的选择。您可以在 github 问题中请求该功能,或者冒险并分叉并在 assertions module 上提出拉取请求。

标签: javascript dalekjs


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-23
    • 1970-01-01
    • 2011-12-30
    • 1970-01-01
    • 1970-01-01
    • 2011-10-10
    • 1970-01-01
    相关资源
    最近更新 更多