/ / substituindo eventos de clique vinculados anteriormente - javascript, jquery, eventos, clique

sobrescrevendo eventos de cliques previamente vinculados - javascript, jquery, eventos, clique

Quando eu uso este código com um elemento cujo id é "foobar":

$("#foobar").click(function () { alert("first"); });
$("#foobar").click(function () { alert("second"); });

Recebo dois alertas: "primeiro" e "segundo" segundo.

Como posso especificar um evento de clique que também apaga todos os eventos de clique anteriores anexados ao elemento? Eu quero o último $("#foobar").click(...) para apagar quaisquer eventos previamente vinculados.

Respostas:

9 para resposta № 1

Você pode desvincular os eventos já anexados a esse elemento e, em seguida, anexar o segundo manipulador de eventos, para que seja o único (observe o método de desvinculação).

$("#foobar").unbind("click").click(function() { alert("second"); });

3 para resposta № 2
$("#foobar").click(function () { alert("first"); });
$("#foobar").unbind("click").click(function () { alert("second"); });

Observe o unbind () método. Faz exatamente o que parece.