-1

我正在研究一个 angularjs 指令,其中一旦单击一次圆形元素就需要禁用它。ng-click 事件按预期工作,但 ng-disable 不起作用。我可以看到在 html 中添加了禁用的类,但是仍然触发了单击事件。

有什么想法吗?

<svg width="100" height="100">
      <circle ng-disabled="disableme" ng-click="clickme()" ng-init="count=0" cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow" />
    </svg>

app.controller('MainCtrl', function($scope) {
  $scope.name = 'World';
  $scope.clickme = function () {
    $scope.count=$scope.count+1;
    $scope.disableme = true;
  };

http://plnkr.co/edit/dK07QfKoA9qOrNsdlypE?p=preview

4

1 回答 1

-1

ng-disabled不适用于svg。或者,您可以使用ng-class

.disable {
     pointer-events: none;
     opacity: 0.5; 
 }

添加ng-classsvg元素

 <svg width="100" height="100"  ng-class="{'disable': disableme}">
      <circle ng-click="clickme()" ng-init="count=0" cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow" />
    </svg>

演示

于 2018-01-05T15:49:00.133 回答