2016-01-15 12 views
6

È semplicemente possibile trovare tutti gli elementi realmente visibili e selezionabili nella pagina utilizzando la funzione document.elementFromPoint. Tuttavia, restituisce null per gli elementi esterni alla finestra.Come posso verificare se l'utente può vedere e fare clic su un elemento?

Quindi, come trovare tutti gli elementi selezionabili e selezionabili nella pagina intera? Gli elementi visibili non sono solo limitati agli stili. Prendi in considerazione un container <div> che ora è nascosto dietro tutti gli elementi figli. Quindi, il genitore <div> non è più visibile.

enter image description here

Quindi, hai qualche idea di come sia possibile trovare tutte le davvero elementi visibili nella pagina? Nell'esempio sopra, ovviamente "Parent <div>" non è visibile praticamente. Ci sono altre situazioni imprevedibili in cui quegli elementi potrebbero non essere visibili e gli stili (display, visibility, ecc.) Potrebbero non indicarlo.

La mia intenzione finale: Voglio verificare se un elemento è veramente visibile e selezionabile per l'utente finale o meno. Ad esempio caso d'uso voglio trovare tutte le zone possibili su cui un utente può fare clic.

+1

Questo mi sembra un [problema XY] (http://meta.stackexchange.com/questions/66377/what-is-the- xy-problema). – Xufox

+0

@Tushar non risponde alla domanda. Il div genitore non è visibile per l'utente finale nel mio esempio, ma restituisce true nelle misurazioni della porta di vista. – Kousha

+0

@Xufox "Come trovare elementi visibili per l'utente finale?". Spero che la domanda sia chiara. – Kousha

risposta

-1

Penso che tu abbia frainteso le basi dietro gli eventi in domApi. ci saranno bolle e catture in ogni caso accadute al cliente. è necessario aver visto codice come questo document.addEventListener('click',function(){},false),

che significa utilizzare la bolla anziché l'acquisizione per gestire l'evento. elemento DOM quindi in realtà cliccabile è in relazione con se o non DOMJs utilizza bolla o catturare

+0

Non sono sicuro di aver letto la domanda. – Kousha

Problemi correlati