JavaScript / jQuery:事件被触发两次

我正在尝试使用jQuery进行一些事件绑定,我在文档中准备好了这个简单的代码:

$(document).ready(function() { $("pa").each(function(i, selected){ $(selected).hover( function(event) { alert('over: ' + event.type); }, function(event) { alert('out: ' + event.type); }); } ) }); 

因此,当我将鼠标移动到段落内的链接(选择器为“pa”)时,会弹出两次警报。 因此,mouseenter和mouseleave被激发两次。

这只发生在Google Chrome中。 在Internet Explorer 7, Firefox 3, Opera和Safari中,这两个事件仅被触发一次。

为什么会这样?

我认为警报实际上导致了Chrome中的额外事件。 使用以下代码我只看到一个事件。

 $(document).ready(function() { $("pa").each(function(i, selected){ $(selected).hover( function(event) { $("p").append('
over: ' + event.type); }, function(event) { $("p").append(' out: ' + event.type); }); } ) });

我想这不会回答你的问题,但这篇文章是在研究我自己的bug时提出来的。 原来问题是我无意中包含了两次外部JavaScript。

只是觉得为那些有同样问题的人记录这个是值得的。 追踪需要一段时间的明显错误!