ng-mouseover和ng-mouseleave事件不适用于chrome

时间:2014-12-29 10:21:04

标签: angularjs events

我已在我的角应用中设置了以下内容

我的图像中包含以下与图像标记关联的ng-mouseover和ng-mouseleave事件

<img ng-mouseover="infoIconStyle={'height':'50px','padding':'10px'}"  ng-mouseleave="infoIconStyle={'height':'0','padding':'0'}" src="images/info-icon.svg" />

然后将这些鼠标悬停事件发送到以下div

<div class="dataBoxInfoContent" ng-style="infoIconStyle">{{description}}</div>

因此,当触发ng-mouseover时,dataBoxInfoContent div会因高度从0到50px而打开,当触发ng-mouseleave时div会再次关闭。

但是由于某些原因,当鼠标离开图像时,触发了ng-mouseleave并且仅在Google Chrome中触发。一切正常,在Internet Explorer和Mozilla Firefox中都可以使用。

任何人都知道为什么会这样吗?

1 个答案:

答案 0 :(得分:20)

我在Chrome上遇到了类似的问题,并最终将问题跟踪到特定的Chrome扩展程序(对我来说,这是AngularJS Batarang扩展名。)

如果你有任何javascript-profiling扩展,那些添加到你的页面的速度有时会导致事件中的异常行为(特别是鼠标移动事件)。

在&#34;个人档案&#34; Chrome调试器的标签,使用&#34;收集JavaScript CPU配置文件&#34;找出哪些脚本(如果有的话)是生猪,然后如果你将鼠标悬停在右边的脚本上,它会告诉你生猪是哪一个扩展名。