Как переопределить ранее установленный обработчик событий jquery?
12552 просмотра
3 ответа
В моем коде установлен обработчик события для элемента, который изменяет высоту CSS этого элемента до 100px. В другом месте я хочу, чтобы другой обработчик событий запускался при соблюдении определенных условий, который должен переопределить предыдущий обработчик событий и изменить его высоту на 200 пикселей.
Есть ли способ сделать это, или очистить все ранее установленные обработчики событий для элемента?
Автор: Click Upvote Источник Размещён: 13.11.2019 11:32Ответы (3)
16 плюса
Да, просто используйте .off()
, как
$('selector').off('eventname')
Автор: zerkms
Размещён: 28.12.2012 01:46
3 плюса
Это что-то вроде взлома, но похоже, что вы пытаетесь взломать чужой код, не имея возможности изменить его напрямую, чтобы вы могли прибегнуть к этому.
Если вам просто нужно вызывать что-то после их, document.ready()
и вы не контролируете порядок document.ready()
операторов, то вы можете поместить некоторый код в короткий промежуток времени, как это, в ваш обработчик document.ready:
$(document).ready(function() {
setTimeout(function() {
$('selector').off('eventname').on(your event handler here);
}, 1);
});
setTimeout()
Будет работать после того как все document.ready () забежавших обработчики.
1 плюс
По-другому:
$(window).on('load', function() {
$('selector').off('eventname').on(your event handler here);
});
Загрузка выполняется после того, как документ готов
Автор: Alain Размещён: 06.07.2018 09:26Вопросы из категории :
- javascript Как определить, какой из указанных шрифтов был использован на веб-странице?
- javascript Валидация клиентской стороны ASP.Net
- javascript Длина объекта JavaScript
- javascript Получение текста из выпадающего списка
- javascript Скрипт входа со скрытыми кнопками
- javascript Как автоматически изменить размер текстовой области с помощью Prototype?
- jquery Прокрутка переполненных DIV с помощью JavaScript
- jquery Экранирование строк HTML с помощью jQuery
- jquery Как сравнить HTML-сущность с JQuery
- jquery Есть ли функция "существует" для jQuery?
- jquery Как удалить все параметры в окне выбора, а затем добавить один вариант и выбрать его с помощью jQuery?
- jquery Получение идентификатора элемента, который вызвал событие
- event-handling Вызывать события C # с помощью метода расширения - это плохо?
- event-handling Нужно ли явно удалять обработчики событий в C #
- event-handling Событие LongClick также вызывает событие Click
- event-handling Понимание событий и обработчиков событий в C #
- event-handling Плохо ли не отменять регистрацию обработчиков событий?
- event-handling Система событий в Python