gpt4 book ai didi

javascript - 如何在 jQuery 中读取绑定(bind)的悬停回调函数

转载 作者:行者123 更新时间:2023-11-29 10:26:04 25 4
gpt4 key购买 nike

我使用 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 的情况下执行此操作?”

最佳答案

调用事件 bind 方法(例如 hover)不会删除旧的事件处理程序,只会添加您的新事件,所以您“恢复”旧事件的想法函数将不起作用,因为它不会删除您的事件。

您可以添加自己的事件,然后在不影响任何其他事件的情况下删除它们,然后使用事件命名空间:http://docs.jquery.com/Events_(Guide)#Namespacing_events

关于javascript - 如何在 jQuery 中读取绑定(bind)的悬停回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48931/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com