Ho un tag di ancoraggio <a class="next">next</a>
trasformato in un "pulsante". A volte, questo tag deve essere nascosto se non c'è nulla di nuovo da mostrare. Funziona tutto bene se semplicemente nascondo il pulsante con .hide() e lo ri-lo mostro con .show(). Ma volevo usare .fadeIn() e .fadeOut() invece.Come faccio a "rebind" l'evento click dopo unbind ('clic')?
Il problema che sto avendo è che se l'utente fa clic sul pulsante durante l'animazione fadeOut, può causare problemi con la logica che ho in esecuzione lo spettacolo. La soluzione che ho trovato è stata quella di separare l'evento click dal pulsante dopo l'inizio della funzione di clic originale, quindi ricollegarlo dopo che l'animazione è stata completata.
$('a.next').click(function() {
$(this).unbind('click');
...
// calls some functions, one of which fades out the a.next if needed
...
$(this).bind('click');
}
l'ultima parte dell'esempio precedente non funziona. L'evento click non viene effettivamente re-legato all'ancora. qualcuno sa il modo corretto per realizzare questo?
Sono un jquery autodidatta, quindi alcune delle cose di livello più elevato come unbind() e bind() sono sopra la mia testa, e la documentazione di jquery non è abbastanza semplice da capire per me.
Grazie nickf, Che ha funzionato perfettamente. Ma sono ancora curioso di sapere come "rebind" l'evento click se qualcuno lo sa. – Ben