Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

jquery change onclick event of href

I have a href element and that has onclick event on it. I want to change the function after some event. I tried using jquery but the old one and new function both are fired. I want only the new one t be fired.

My Code is as:

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

When i click "Test" link i get 2 alerts "One" and "Two".

How to stop the first event getting fired or is there any other solution to this problem?

like image 333
user367134 Avatar asked Oct 12 '10 18:10

user367134


1 Answers

Don't use the deprecated onclick property. Assign both event handlers using jQuery. Then it's easy to remove the one you no longer want.

// 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);
like image 196
VoteyDisciple Avatar answered Oct 13 '22 09:10

VoteyDisciple