我有一个Bootstrap Rating组件,我必须使用on-leave方法来调用我的javascript函数。除了在IE中,所有其他浏览器也在点击事件上执行on-leave功能。但是在IE中,直到我离开星星,这个功能才被调用。我甚至无法使用ng-click,因为Bootstrap Rating组件不支持(我的角度版本是1.1.5)
<div id="ratingDiv{{$index}}" style="display:none;" class="ratingDivClass">
<span class="ratingPoorClass">Poor</span>
<rating id="rateStars" onclick="$jq('#loader').show();" value="userRating" max="5"
on-hover="hoveringOver(value)"
on-leave="saveRating(message.id,userRating,$index,message.entity);"></rating>
<span class="ratingGoodClass">Very Good</span>
</div>
问题:在IE中,直到我离开div,函数不会被调用
尝试:
如果有人对此有任何解决方案,请告诉我。
答案 0 :(得分:0)
我遇到了与angularjs和IE类似的问题。在我的情况下,按键不起作用,解决方案是使用按键事件(参见http://api.jquery.com/keyup/)。
在您的情况下,您可能遇到此问题https://github.com/angular/angular.js/issues/1277
我不熟悉上面的'on-leave',但您可以尝试使用jquery blur方法:https://api.jquery.com/blur/
答案 1 :(得分:0)
根据ng-mouseleave的文档,您可以尝试以下代码。
在我的上一个项目中,我使用IE8下面的代码来支持某些功能.. 你也可以尝试休假。
<!--[if lte IE 8]>
<script>
document.createElement('ng-include');
document.createElement('ng-pluralize');
document.createElement('ng-view');
document.createElement('alert');
document.createElement('progress');
document.createElement('ng-mouseleave');// try this
// Optionally these for CSS
document.createElement('ng:include');
document.createElement('ng:pluralize');
document.createElement('ng:view');
</script>
<![endif]-->