2010-10-12 20 views
5

Mam element href i ma on zdarzenia onclick na nim. Chcę zmienić funkcję po jakimś wydarzeniu. Próbowałem używać jquery, ale stara i nowa funkcja są uruchamiane. Chcę tylko zwolnić nowego.jquery change onclick event of href

mój kod jest tak:

<a href='#' id='cvtest' onclick='testMe("One")' >TEST</a> 
after some event i am adding following code: 
$("#cvtest").click(function(){ testMe("Two"); }); 

Po kliknięciu linku "Test" i dostać 2 alarmy "jeden" i "dwa".

Jak zatrzymać wypalanie pierwszego zdarzenia lub czy istnieje inne rozwiązanie tego problemu?

Odpowiedz

6

Nie należy używać wycofanej właściwości onclick. Przypisywanie obu procedur obsługi zdarzeń za pomocą jQuery. Wtedy łatwo jest usunąć to, czego już nie chcesz.

// Add the original event handler: 
var originalEventHandler = function() { 
    testMe('One'); 
}; 
$("#cvtest").click(originalEventHandler); 

// Then later remove it and add a new one: 
var newEventHandler = function() { 
    testMe('Two'); 
}; 
$("#cvtest").unbind('click', originalEventHandler).click(newEventHandler); 
+0

THX VoteyDisciple – user367134