Javascript AngularJS鼠标事件在循环中多次激发
当鼠标悬停Javascript AngularJS鼠标事件在循环中多次激发,javascript,angularjs,Javascript,Angularjs,当鼠标悬停li元素时,我试图触发函数setHighlight。在ng repeat循环中设置ng mouseover事件 问题是,当我将鼠标悬停在li元素上时,ng mouseover会被多次触发。触发次数等于迭代次数。以下是我的代码片段: <ul> <li ng-repeat="review in foodReviews" ng-mouseover="setHighlight(review.id)"> <h4>{{review.nam
li
元素时,我试图触发函数setHighlight
。在ng repeat
循环中设置ng mouseover
事件
问题是,当我将鼠标悬停在li
元素上时,ng mouseover
会被多次触发。触发次数等于迭代次数。以下是我的代码片段:
<ul>
<li ng-repeat="review in foodReviews" ng-mouseover="setHighlight(review.id)">
<h4>{{review.name}}</h4>
<b>{{review.stars}} Stars</b>
<i> -- {{review.location}} </i><br />
<blockquote> {{review.description}} </blockquote>
<br/> written by {{review.author}}
</li>
</ul>
-
{{review.name}
{{review.stars}}}stars
--{{review.location}}
{{review.description}}
作者{{review.author}
我是否将鼠标悬停事件放错了位置?鼠标悬停事件会在元素或其任何子元素悬停时发生。因此,每当您将鼠标悬停在li内的h4上时,就会触发另一个鼠标悬停事件。您应该改为使用mouseenter事件
ng-mouseenter="setHighlight(review.id)"
我对angular不太熟悉,但是的,它看起来像是mouseover在loopmouseover事件中冒泡,但mouseenter没有。至于你的说法:“触发次数等于迭代次数”,我认为这是一个误判。