2011-02-09 17 views
13

Ho un div e mi piacerebbe avere un gestore di eventi in ascolto quando diventa visibile e nascosto. Come si fa a farlo?gestore di eventi jquery: div diventa visibile/nascosto

Grazie.

+1

Penso che la tua domanda abbia già trovato risposta: http://stackoverflow.com/questions/1225102/jquery-event-to-trigger-action-when-a-div-is-made-visible –

+0

C'è un domanda simile [qui] (http://stackoverflow.com/questions/1225102/jquery-event-to-trigger-action-when-a-div-is-made-visible) Vedi la mia risposta http://stackoverflow.com/a/21242078/848034 – tlogbon

risposta

14

È possibile utilizzare il parametro di richiamata nei show() e hide() metodi come questo:

$('#myDiv').show(0, onDivShow); 
$('#myDiv').hide(0, onDivHide); 

function onDivShow() { //your code here } 
function onDivHide() { //your code here } 

Vedi un esempio di lavoro qui: http://jsfiddle.net/N7UNU/

+0

la visualizzazione del div è controllata da un controllo asp updateprogress: non riesco a scrivere $ ('# myDiv'). show (0, onDivShow). Ho bisogno di ascoltare l'evento "div just turned visible". – frenchie

+0

@frenchie: non esiste alcun evento nativo per fare ciò in JavaScript. Le uniche opzioni reali che hai sono di usare un evento personalizzato che si attiva quando mostri o nascondi gli oggetti o di saltare quel passaggio e di fare ciò che ho fatto sopra. – treeface

1

È possibile creare un trigger. Dovresti, ovviamente, attivare il grilletto, ma questo è un modo per farlo.

Problemi correlati