我试图在鼠标悬停setHighlight
元素时触发函数li
。 ng-mouseover
事件在ng-repeat
循环中设置。
问题是,当我悬停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>
我是否将悬停事件放在了错误的位置?
答案 0 :(得分:8)
鼠标悬停事件发生在元素或任何子元素悬停的任何时候。因此,每当您将鼠标悬停在li内的h4上时,都会触发另一个鼠标悬停事件。您应该使用mouseenter事件。
ng-mouseenter="setHighlight(review.id)"