在Firefox中,由于一些奇怪的原因,当在鼠标中心或鼠标悬停事件中动画(通过jQuery)一个对象时,该事件只是悬停在该元素上而被垃圾邮件发送。如果你移动鼠标,它会更快地发送垃圾邮件(显然会发生更多事件)。这仅在Firefox中发生,并且仅在使用动画调用时发生。
这是一个演示这个问题的小提琴。 http://jsfiddle.net/52EKC/3/
/* CSS */
body {
font-family: consolas;
}
#testarea {
display: block;
height: 100px;
width: 300px;
}
<!-- HTML -->
<textarea id='testarea'></textarea><br/>
Event Fired: <span id='counter'>0</span> times
// JavaScript
var i = 0;
$('#testarea').on('mouseenter', function() {
$('#counter').text(++i);
$(this).animate({ width: 299 }, 200);
});
非常感谢任何变通办法。
更新 看来这个bug只适用于文本区域和文本框。如果我用div替换文本区域,事件只会按预期触发一次。因为我使用文本区域,所以我需要找到解决方法。任何建议都将不胜感激。
答案 0 :(得分:0)
问题出在$(this).animate({ width: 299 }, 200);
如果你发表评论,那就完美了