我意識到有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 –