gpt4 book ai didi

javascript - 我怎样才能确保我的事件总是在 jQuery 中触发? [悬停回调未触发]

转载 作者:行者123 更新时间:2023-11-28 19:08:07 25 4
gpt4 key购买 nike

我有一个 BG 图像动画,它依赖于 hover 回调来恢复到它的原始状态。如果我将鼠标快速移动到链接上,悬停状态就会保持不变。我的猜测是我在第一个动画完成之前将鼠标移开,所以回调没有注册。

有没有更可靠的方法来编写这个函数?

$('.nav li a').hover(function() {
$(this).addClass('hovered', 300);
}, function() {
$(this).removeClass('hovered', 300);
});

(它使用 BGimg plugin 来支持添加/删除类的速度参数)

可在此处测试:McPherson Industries

最佳答案

这是一个常见问题,无法修复,恐怕 - 这取决于浏览器是否跟上事件,如果不能,那你就倒霉了。

不过,这也可能是 jQuery 的错。如果不深入研究源代码就很难说。无论如何,有一个简单的解决方法:

$('.nav li a').hover(function() {
// When element is hovered, remove hovered state from all elements..
$('.hovered').removeClass('hovered');
// ..and add it to this one.
$(this).addClass('hovered', 300);
}, function() {
// This is only needed when exiting an element and not enterin another one
$(this).removeClass('hovered', 300);
});

这可能不是 100% 确定,但比您现在的要好。

关于javascript - 我怎样才能确保我的事件总是在 jQuery 中触发? [悬停回调未触发],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2253570/

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