AngularJS鼠标离开触发器未命中

时间:2014-09-13 17:49:48

标签: angularjs

在我的网页上,我有一个

阵列
<div ng-repeat='img in imgList'>
    <div class='img_container' ng-mouseover="show(img)" ng-mouseleave="hide(img)">
        <div>one thumbnail</div>
        <div class='overlay_edit' ng-show='img.isShowEdit'></div>
    </div>
</div>

    // from controller
    $scope.hide = function hide(img){
        img.isShowEdit = false;
    }

    $scope.show = function show(img){
        if(img.metas != undefined && img.metas.length > 0){
            // a few lines of codes to use img.metas to 
            // format the edit div block, omitted for simplicity
            // but it does involve calling a REST service call
            // to retrieve all meta properties.
            img.isShowEdit = true;
        }
    }

叠加编辑div显示鼠标何时进入容器div并在鼠标离开容器div时隐藏。

我遇到的问题是,当鼠标在许多容器中移动太快时,我会看到很多鬼重叠。

解决这个问题的最佳方法是什么?

编辑以添加其他信息并更正错误。

1 个答案:

答案 0 :(得分:0)

问题是show()需要一些时间才能完成。如果在show()完成之前发生ng-mouseleave触发器,则ng-mouseleave的触发器没有净效应。当我移动“img.isShowEdit = true;”时到show()的开头,它解决了鬼问题。感谢Narek指出show()函数可能是问题的来源。