Я использовал jquery для установки обратных вызовов наведения для элементов на моей странице. Теперь я пишу модуль, который должен временно установить новое поведение наведения для некоторых элементов. Новый модуль не имеет доступа к исходному коду для функций наведения.
Я хочу сохранить старые функции зависания, прежде чем устанавливать новые, чтобы я мог восстановить их, когда закончил поведение временного наведения.
Я думаю, что они могут быть сохранены с помощью функции jquery.data()
:
//save old hover behavior (somehow)
$('#foo').data('oldhoverin',???)
$('#foo').data('oldhoverout',???);
//set new hover behavior
$('#foo').hover(newhoverin,newhoverout);
Сделайте материал с новым поведением...
//restore old hover behavior
$('#foo').hover($('#foo').data('oldhoverin'),$('#foo').data('oldhoverout'));
Но как мне получить зарегистрированные функции зависания с jquery?
Shadow2531, я пытаюсь сделать это, не изменяя код, который первоначально регистрировал обратные вызовы. В противном случае ваше предложение будет работать нормально. Спасибо за предложение и за помощь в разъяснении того, что я ищу. Возможно, мне нужно войти в источник jquery и выяснить, как эти обратные вызовы хранятся внутри. Может быть, я должен изменить вопрос на "Можно ли это сделать без изменения jquery?"