SilenceOfWinter
@SilenceOfWinter
та еще зажигалка...

Как добавить событию обработчик вызываемый первым?

На событии элемента висит "чужой" обработчик возвращающий false, если я добавляю свой обработчик с помощью метода on (JQuery), то он добавляется в конец очереди и не выполняется т.к. перед ним стоит обработчик возвращающий false. Вопрос: как добавить мой обработчик перед чужим? И как вообще осуществляется доступ к заданным обработчикам в JQuery?
// чужой обработчик
$('#s-delete-tax-link').on('click', function (event) {
    return false;
});
// мой обработчик
$('#s-delete-tax-link').on('click', function (event) {
    console.log();
});
  • Вопрос задан
  • 99 просмотров
Решения вопроса 1
SilenceOfWinter
@SilenceOfWinter Автор вопроса
та еще зажигалка...
Может кому-то пригодится:
var handlers = jQuery._data($('#s-delete-tax-link').get(0), 'events').click;
handlers.reverse();
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Зарегистрированные jQuery обработчики вызываются на стадии event bubbling, так что если перехватить событие во время capture, то можно успеть выполнить свой код. Вариант номер два – повесить обработчик на mousedown или mouseup, которые гарантированно идут до click.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы