Найти сфокусированный элемент в сквозном тесте для компонента Stencil - PullRequest
0 голосов
/ 25 января 2019

Как проверить, какой элемент имеет фокус в тесте трафарета?Я не могу использовать document.activeElement, как обычно, поскольку он всегда возвращает undefined ...

1 Ответ

0 голосов
/ 29 января 2019

Компоненты трафарета по умолчанию используют Shadow DOM, и это означает, что если какой-то элемент в Shadow DOM находится в фокусе, вы не сможете получить его через обычное свойство document.activeElement. С другой стороны, хост-элемент Shadow DOM также содержит свойство activeElement (хост-элемент обрабатывается как другой документ). Вы можете использовать свойство activeElement хоста в своих тестах, которое должно содержать сфокусированный элемент внутри Shadow DOM. Вы можете прочитать об этом свойстве в MDN . В некоторых из моих проектов, когда элемент получает фокус, я добавляю к нему класс, который помогает мне запрашивать его позже и добавлять стили фокусировки. Это еще один способ найти элементы, которые находятся в фокусе (запрос для класса).

...