jsdom 9.1+ non imposta document.activeElement quando la focalizzazione di un nodo

voti
1

Sto usando jsdom con l'enzima + moka + chai per testare il comportamento di un componente di reagire. Il componente ha un metodo per mettere a fuoco un nodo DOM (usando il solito node.focus()) e voglio mettere alla prova il nodo è in realtà focalizzata quando si chiama.

Per sapere quale nodo si concentra, paragono document.activeElemental nodo mi aspetto di essere messo a fuoco.

Tuttavia, dopo l'aggiornamento a jsdom 9.1+, document.activeElementsembra essere sempre HTMLBodyElement, anche dopo aver chiamato il nodo focus()metodo.

Con jsdom 9,0 i test funzionano bene.

Ho letto jsdom 9.1+ contiene alcune modifiche relative alla manifestazione messa a fuoco, ma non riuscivo a capire come fanno document.activeElementsi comportano come previsto. Qualsiasi aiuto?

È pubblicato 31/07/2016 alle 07:38
fonte dall'utente
In altre lingue...                            


1 risposte

voti
2

Potrebbe essere che ti manca un tabindexattributo dell'elemento che si sta tentando di mettere a fuoco? Deve essere impostato su un intero valido per jsdom di interpretarlo come attivabile.

Si può vedere questo nel codice sorgente jsdom .

Risposto il 14/02/2017 a 19:03
fonte dall'utente

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more