2013-09-28 4 views
0

Я ищу что-то вроде:Есть ли способ узнать, сфокусирован ли элемент с помощью Dalek.js?

assert.isFocused('input.myDefaultInput')

До сих пор единственным обходной путь я смог найти

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

Есть ли лучший вариант?

+0

С docs, похоже, что для этого нет возможности. Вы можете запросить функциональность в проблеме github, или предпринять авантюризм и вилку и сделать запрос на pull в модуле [assertions] (https://github.com/dalekjs/dalek-internal-assertions). –

ответ

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/

Смежные вопросы