Chiudi jQuery thickbox al clic del pulsante

Ecco la mia jQuery:

  <script type="text/javascript" $('#button').click(function(){ $('#TB_window').fadeOut(); });  

html:

   

Ho provato questa funzione, ma non funziona.

Thickbox ha il suo metodo integrato. tb_remove chiama solo questo metodo tb_remove(); ovunque tu abbia bisogno. Chiuderà correttamente lo thickbox.

Se usi $('#TB_window').fadeOut(); , TB_overlay DIV rimarrà aperto. Se fai di nuovo qualcosa di insensato come $('#TB_overlay').fadeOut(); allora creerà un problema per il tuo thickbox. E thickbox interromperà la funzione.

Devi impedire l’esecuzione dell’evento predefinito dell’input. Cambia il tuo codice a questo:

 $('#button').click(function(){ $('#TB_window').fadeOut(); e.preventDefault(); }); 

Questa soluzione ha funzionato per me provalo una volta

 $(document).ready(function{ $('#button').click(function(){ self.parent.tb_remove(); }); }); 

Spero che questo ti possa aiutare

Se stai includendo thickbox.js, che è ovvio, allora prova …..

 $('#closeTBWindow').click(tb_remove); 

Suggerisco di usare “pulsante” invece di “invio”, come:

  

Quindi il codice jQuery dovrebbe essere:

 $(document).ready(function{ $('#button').click(function(){ $('#TB_window').fadeOut(); }); }); 

In questo modo, non è necessario utilizzare e.preventDefault() .
La parte $(document).ready() è davvero inportante. Senza questo jQuery proverebbe ad associare il codice al pulsante prima che esista anche, quindi non funzionerà.

side-note: mi piace usare gli elementi DIV come pulsanti.