Quando uso questo codice con un elemento il cui ID è "foobar":
$("#foobar").click(function () { alert("first"); });
$("#foobar").click(function () { alert("second"); });
Ricevo due avvisi: "primo" e "secondo" secondo.
Come faccio a specificare un evento clic che cancella anche tutti gli eventi clic precedenti collegati all'elemento? Voglio l'ultimo $("#foobar").click(...)
per cancellare eventuali eventi precedentemente associati.
risposte:
9 per risposta № 1È possibile separare gli eventi già associati a quell'elemento e quindi collegare il secondo gestore eventi, quindi sarà l'unico (notare il metodo unbind).
$("#foobar").unbind("click").click(function() { alert("second"); });
3 per risposta № 2
$("#foobar").click(function () { alert("first"); });
$("#foobar").unbind("click").click(function () { alert("second"); });
Notare il unbind () metodo. Fa esattamente quello che sembra.