jQuery ≥ 1.7
Con jQuery 1.7 in poi l'API dell'evento è stata aggiornata, .bind()
/ .unbind()
sono ancora disponibili per la compatibilità con le versioni precedenti, ma il metodo preferito sta usando le funzioni on () / off () . Il sotto sarebbe ora,
$('#myimage').click(function() { return false; }); // Adds another click event
$('#myimage').off('click');
$('#myimage').on('click.mynamespace', function() { /* Do stuff */ });
$('#myimage').off('click.mynamespace');
jQuery <1.7
Nel tuo codice di esempio stai semplicemente aggiungendo un altro evento click all'immagine, non sovrascrivendo il precedente:
$('#myimage').click(function() { return false; }); // Adds another click event
Verranno quindi attivati entrambi gli eventi clic.
Come è stato detto dalle persone, puoi utilizzare unbind per rimuovere tutti gli eventi clic:
$('#myimage').unbind('click');
Se si desidera aggiungere un singolo evento e quindi rimuoverlo (senza rimuoverne altri eventualmente aggiunti), è possibile utilizzare lo spazio dei nomi degli eventi:
$('#myimage').bind('click.mynamespace', function() { /* Do stuff */ });
e per rimuovere solo il tuo evento:
$('#myimage').unbind('click.mynamespace');
unbind()
funziona? L'ho aggiunto ed entrambi gli eventi sono ancora attivi.