【问题标题】:Why ng-disabled not work? [duplicate]为什么 ng-disabled 不起作用? [复制]
【发布时间】:2017-11-24 13:54:24
【问题描述】:

我尝试使用 ng-disabled 禁用 <a> 但不起作用,我禁用了但它也不起作用。我的 HTML 是这样的

<div class="action-engine">
    <a on-hold="engine()" class="btn3d default actived" ng-disabled="button_clicked">
        <div class="back-overlay"></div>
        <div class="inner-circle">
             <div class="inner-icon"></div>
        </div>
    </a>
</div>

我在 JS 中包含这样的 $scope.button_clicked = true;。不知道还能不能按。如果您有一些想法可以解决我的问题,那将很有帮助。谢谢

【问题讨论】:

标签: javascript angularjs


【解决方案1】:
<div class="action-engine">
    <a on-hold="engine()" class="btn3d default actived" ng-disabled="button_clicked">
        <div class="back-overlay"></div>
        <div class="inner-circle">
             <div class="inner-icon"></div>
        </div>
    </a>
</div>

html 中的 a 标签不会被禁用。 使用下面的类使用

ng-class="{'avoid-clicks' : button_clicked }"

.avoid-clicks {
    pointer-events: none;
}

【讨论】:

  • 还是不行
  • 你是否包含了css类,并放置了ng-class属性
【解决方案2】:

按钮应该用于 ng-disabled:-

var app = angular.module("myApp", []);
app.controller("myCtrl", function($scope) {

$scope.button_clicked = true;
});
<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>

<body>

  <div ng-app="myApp" ng-controller="myCtrl">

    <div class="action-engine">
      <button on-hold="engine()" class="btn3d default actived" ng-disabled="button_clicked">
        <div class="back-overlay"></div>
        <div class="inner-circle">
             <div class="inner-icon">Link</div>
        </div>
      </button>
    </div>
  </div>

【讨论】:

  • 如果我们放置一个按钮,我们将丢失 a 标签内的所有 html。 @
  • 你的意思是我们不能在按钮标签中使用html?
  • 我是尝试按钮但仍然无法禁用
  • 您的代码肯定有其他错误,请分享您的控制器代码。
猜你喜欢
  • 1970-01-01
  • 2018-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-06
  • 2020-06-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多