2011-04-14 6 views
43

Se la proprietà visibility dello stile di un elemento HTML è impostata su hidden, è ancora selezionabile?CSS: È possibile fare clic su un oggetto nascosto?

Quando la proprietà display è impostata su none, l'elemento non fa nemmeno parte dell'albero DOM, quindi non è un problema. Ma mi stavo chiedendo se un elemento hidden risponde ancora agli eventi del mouse.

+2

E 'completamente rimosso dal flusso di elemento, ma non sono sicuro se è tolto l'albero del DOM ... – BoltClock

+3

Non sono abbastanza di destra di "display: none". L'oggetto con "display: none" fa ancora parte dell'albero DOM (quindi puoi trovarlo con jQuery, ad esempio), ma non fa parte dell'albero visivo. –

+0

Se si desidera che l'oggetto sia selezionabile, è possibile utilizzare "opacità". –

risposta

51

Con display: none it è ancora parte del DOM. Semplicemente non è visualizzato nella vista.

Come per i clic sugli elementi con visibility: hidden, gli eventi sono non licenziati.

jsFiddle.

$('div').click(function() { 
 
    alert('Hello') 
 
});
div { 
 
    width: 100%; 
 
    height: 100%; 
 
    visibility: hidden; 
 
}
<div>abc</div>

+0

Sì, dovrei provare per primo ... – BoltClock

+0

@BoltClock Non ero sicuro su quale direzione sarebbe andata, ma avevo la sensazione che non avrebbe funzionato :) – alex

+0

grazie. inoltre, +1 per fare riferimento a jsfiddle. – euphoria83

4

No.

un elemento come un collegamento non può essere cliccato (e il link seguito) se la visibilità è impostato nascosto. Allo stesso modo, gli eventi onclick non verranno attivati.

0

Fare div nascosto o visualizzarne nessuno lo rende semplicemente non selezionabile dall'utente. Ma in realtà è ancora un elemento in dom e puoi cliccarlo con un altro java script/jquery come questo.

$('div').click(function() { 
    alert('Hello') 
}); 
$('div').click(); 

jsfiddle enter image description here