views:

76

answers:

1

Hello All,

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?

+3  A: 

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);
VoteyDisciple
THX VoteyDisciple