我试图获得当鼠标悬停在按钮上时会出现的元素高度。
示例代码:
<div ng-mouseenter="mouseoverPopUp()" ng-mouseleave="showpop=false">menu</div>
<div class="popover" ng-show="showpop">{{content}}</div>
$scope.mouseoverPopUp = function($event){
$scope.showpop = true;
var height = angular.element(".popover").innerHeight();
};
问题有时是元素出现之前的高度。无论如何我只能在ng-show
显示元素的情况下运行代码吗?在看起来调整元素的位置后,我需要尽快获得高度。
答案 0 :(得分:0)
您是否尝试过在$ timeout调用中使用代码,以便在角度完成工作后延迟执行JS?
$scope.mouseover = function($event){
$timeout(function() {
var height = angular.element(".popover").innerHeight();
});
};
你是如何展示你的popover的?有css过渡?如果是这样,您需要相应地延迟JS代码检索高度。或者您可以使用angular-animate将事件与更多逻辑绑定
ps:为了帮助更多,jsfiddle会很棒