4

所以我基本上有一个带有样式属性的 div 块,在里面我留下了:{{left}}px; 对:{{对}}像素。
$scope.left 和 $scope.right 得到更新,但这不会移动我的项目。
这是一个小提琴

http://jsfiddle.net/climboid/5XqG7/4/

非常感谢任何帮助

<div ng-app ng-controller="Controller" class="container">
  <button class="moveTo" ng-click="findPosClick()"> move to here</button>
  <div class="block" style="left:{{left}}px; top:{{top}}px;"></div>
  <div class="posTxt">left:{{left}}</div>
  <div class="posTxt2">top:{{top}}</div>
</div>

function Controller($scope) {
  $scope.findPosClick = function(){
    var location = event.target ? event.target : event.srcElement;
    var pos = $(location).position();
    $scope.left = pos.left;
    $scope.top = pos.top;
  }

}

此外,当我查看 ie9 控制台时,我没有看到样式属性完全应用于 div ......

4

2 回答 2

8

这是 IE 的一个已知问题;它会简单地丢弃它不喜欢的样式标签。

请改用该ng-style指令。

<div ng-style="{left: left+'px', top: top+'px'}"></div>

于 2013-09-27T19:36:29.727 回答
0

style属性未解析角度表达式 ({{ }})。所以你应该在你的角度应用程序中使用ng-style而不是。style

于 2015-10-28T10:45:36.513 回答