AngularJS - ng-disabled不适用于Anchor标记

59 html javascript angularjs

我正在使用ng-disabled,我喜欢它.它对我来说对输入和按钮很有用.锚标签不起作用.我该怎么办?

HTML code

<a ng-disabled="addInviteesDisabled()">Add</a>
Run Code Online (Sandbox Code Playgroud)

JS code

  $scope.addInviteesDisabled = function() {
      return $scope.event.status === APP_CONSTANTS.STATUSES.PENDING_APPROVAL;
  };
Run Code Online (Sandbox Code Playgroud)

Baz*_*nga 73

超链接没有禁用属性.你可以这样做:

.disabled {
  cursor: not-allowed;
}

<a ng-click="disabled()" ng-class="{disabled: addInviteesDisabled()}">Add</a>

$scope.disabled = function() {
  if($scope.addInviteesDisabled) { return false;}
}
Run Code Online (Sandbox Code Playgroud)

  • 谢谢你的答案@JsIsAwesome.我改为`.disabled {cursor:default; 不透明度:.5; }` (12认同)
  • 如果这只是一个单词,则不需要这样做,例如'class-name' (5认同)

pau*_*aul 24

您可以创建一个linkDisabledcss类,并将其应用于您的锚点:

<style>

.linkDisabled {
  cursor: not-allowed;
  pointer-events: none;
  color: grey;
}

</style>
Run Code Online (Sandbox Code Playgroud)

  • 可能要小心这个,因为截至2016年6月,`指针事件`规则仅支持ie 11+.所有其他浏览器都相当安全.[源(https://developer.mozilla.org/en-US/docs/Web/CSS/pointer-events) (2认同)

小智 9

你可以通过CSS做到这一点,不需要花哨的指令.只需使用ng-class来应用类似这样的类:

NG-类:

ng-class="{disabledLink: disabledFunction()}"
Run Code Online (Sandbox Code Playgroud)

CSS:

.disabledLink {
    color: #ccc;
    pointer-events:none;

}
Run Code Online (Sandbox Code Playgroud)

完全信贷 -

https://css-tricks.com/pointer-events-current-nav/


Ani*_*bhi 6

您无法使用禁用锚标记ng-disabled.

表单控件已禁用属性,但锚标记没有禁用属性.

检查为什么angular的ng-disabled与bootstrap的btn类一起工作?