我意识到有SO帖子要求类似或甚至相同的事情,但在你捣毁重复按钮之前,请注意我已经尝试了每一个解决方案,并没有一个在我的目标AngularJS版本中工作(1.4.8)。考虑到这一点:在AngularJS 1.4.8中观看元素高度的正确方法是什么?
HTML:
<div ng-app="app" ng-controller="app">
<textarea size-watch>{{ height }}</textarea>
</div>
的JavaScript:
angular.module("app", [])
.controller("app", function() {
})
.directive("sizeWatch", function() {
return {
restrict: "A",
link: function(scope, elem) {
scope.$watch(function() { return elem[0].offsetHeight; }, function(newHeight, oldHeight) {
scope.height = newHeight;
}, true);
}
}
});
下面是我想要做的事情:我想创建一个指令,监视元素的高度,并随时更新范围内的属性。我可以获取最初显示的值,因此我知道该指令和控制器/范围之间的链接正在工作。但是,当textarea被调整大小时(拖动右下角),我无法获得更新的值。我在第二个watch
函数中打了一个电话debugger;
,并验证它只被调用一次。
当您找到工作解决方案时,随时更新链接的小提琴。
使用'elem.addEventListener('resize',function(){});'?? –
'elem.attachEventHandler'不是一个函数。 –
'elem [0]'对不起,但看看这个:http://stackoverflow.com/questions/5570390/resize-event-for-textarea –