JQuery изменить OnClick событие HREF - PullRequest
5 голосов
/ 12 октября 2010

У меня есть элемент href, и на нем есть событие onclick. Я хочу изменить функцию после некоторого события. Я попытался использовать JQuery, но старая и новая функция оба запущены. Я хочу, чтобы только новый был уволен.

Мой код такой:

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

Когда я нажимаю ссылку «Тест», я получаю 2 оповещения «Один» и «Два».

Как остановить запуск первого события или есть другое решение этой проблемы?

1 Ответ

7 голосов
/ 12 октября 2010

Не используйте устаревшее свойство onclick.Назначьте оба обработчика событий, используя jQuery.Тогда легко удалить тот, который вам больше не нужен.

// 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);
...