/ / sovrascrivendo gli eventi clic precedentemente associati: javascript, jquery, eventi, clic

ignorare gli eventi click associati in precedenza: javascript, jquery, eventi, clic

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.