我认为您想改用此代码:
var glow = $('<div class="glow">...</div>');
glow.hover(function() {
$(this).fadeIn();
}, function() {
$(this).fadeOut();
}
或者
var glow = $('<div class="glow">...</div>');
glow.hover(function() {
glow.fadeIn();
}, function() {
glow.fadeOut();
}
我相信现在你的 $(this) 是模棱两可的,并且可能没有将 hover() 处理程序放在正确的对象上。
也有可能你在这里省略了一些重要的东西(例如,glow
放入 DOM 的位置)。
如果情况变得更糟,您可以hover
完全跳过而只使用mouseover
andmouseout
来代替,或者如果您想对整个事情进行真正bind
的手动操作,您可以使用mouseover 和 mouseout 事件。
实际上,由于您在单个鼠标悬停事件上看到重复操作,这可能表明您以某种方式将单个hover
处理程序的许多实例绑定到该glow
对象。如果最终出现这种情况,您可以使用unbind
在绑定新处理程序之前删除当前处理程序,但如果您能找到一种方法,避免多重绑定是更好的策略。
我希望这有帮助!