我使用 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 behaviour
$('#foo').hover($('#foo').data('oldhoverin'),$('#foo').data('oldhoverout'));
但是如何从 jQuery 中获取当前注册的悬停函数呢?
Shadow2531,我正在尝试在不修改最初注册回调的代码的情况下执行此操作。否则你的建议会很好用。感谢您的建议,并帮助澄清我正在寻找的内容。也许我必须进入 jquery 的源代码并弄清楚这些回调是如何在内部存储的。也许我应该将问题更改为“是否可以在不修改 jquery 的情况下执行此操作?”