2010-10-12 13 views
5

Ho un elemento href e su di esso è presente un evento onclick. Voglio cambiare la funzione dopo qualche evento. Ho provato ad usare jquery ma sono stati licenziati sia il vecchio che la nuova funzione. Voglio che venga licenziato solo il nuovo.jquery modifica evento onclick di href

Il mio codice è come:

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

Quando mi fai clic sul link "Test" I Get 2 Allarme "uno" e "due".

Come interrompere il primo evento che si attiva o esiste un'altra soluzione a questo problema?

risposta

6

Non utilizzare la proprietà deprecata onclick. Assegna entrambi i gestori di eventi usando jQuery. Quindi è facile rimuovere quello che non desideri più.

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