【发布时间】:2014-03-15 09:10:39
【问题描述】:
在 Firefox 中,出于某种奇怪的原因,当(通过 jQuery)在 mouseenter 或 mouseover 事件中为对象设置动画时,只要将鼠标悬停在元素上,该事件就会被发送垃圾邮件。如果您移动鼠标,它会更快地发送垃圾邮件(显然会触发更多事件)。这仅在 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);
});
任何解决方法将不胜感激。
更新 看来此错误仅适用于文本区域和文本框。如果我用 div 替换文本区域,事件只会触发一次,正如预期的那样。因为我使用的是文本区域,所以我需要找到一种解决方法。任何建议将不胜感激。
【问题讨论】: