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 № 1Você 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.