В jQuery события запускаются строго в том порядке, в котором они были зарегистрированы.
Вы можете обойти любые встроенные обработчики стиля DOM0 onclick
, перебирая весь DOM, удаляя эти свойства onclick
, изатем зарегистрируйте свой собственный обработчик, который затем вызывает первоначально определенную функцию.
Что-то вроде:
$('[onclick]').each(function() {
var handler = $(this).prop('onclick');
$(this).removeProp('onclick');
$(this).click(handler);
});
См. http://jsfiddle.net/alnitak/2SCTK/
Итак, зарегистрируйтесьсначала ваши собственные обработчики с помощью jQuery, а затем вызовите приведенный выше код для удаления исходных встроенных обработчиков onclick
и перерегистрации их, как если бы jQuery добавил их.
EDIT код упрощен доиспользуйте оригинальную функцию - jQuery гарантирует, что функция будет вызвана с правильным контекстом.Предыдущий код, который явно устанавливал контекст на window
, был неверным.