2010-10-12 10 views
5

Ich habe ein href-Element und das onclick-Ereignis darauf hat. Ich möchte die Funktion nach einem Ereignis ändern. Ich habe versucht, jquery zu verwenden, aber die alte und die neue Funktion werden beide ausgelöst. Ich will nur das neue t gefeuert werden.jquery ändern onclick event von href

My-Code ist als:

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

Wenn ich auf "Test" link i 2-Benachrichtigungen zu erhalten "One" und "Two".

Wie kann ich das erste Ereignis beenden oder gibt es eine andere Lösung für dieses Problem?

Antwort

6

Verwenden Sie nicht die veraltete Eigenschaft onclick. Weisen Sie beide Ereignishandler mit jQuery zu. Dann ist es einfach, den zu entfernen, den du nicht mehr willst.

// 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