AngularJS – ng-disabled不能用于Anchor标记

我正在使用ng-disabled,我喜欢它。 这对我的input和button很有帮助。 锚标记不工作。 我该如何解决?

HTML code

 <a ng-disabled="addInviteesDisabled()">Add</a> 

JS code

  $scope.addInviteesDisabled = function() { return $scope.event.status === APP_CONSTANTS.STATUSES.PENDING_APPROVAL; }; 

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

 .disabled { cursor: not-allowed; } <a ng-click="disabled()" ng-class="{disabled: addInviteesDisabled()}">Add</a> $scope.disabled = function() { if($scope.addInviteesDisabled) { return false;} } 

你可以创build一个linkDisabled CSS类,并将其应用到你的锚:

 <style> .linkDisabled { cursor: not-allowed; pointer-events: none; color: grey; } </style> 

你不能禁用使用ng-disabled锚标签。

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

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

你可以通过CSS来做到这一点,不需要花哨的指示。 只需要使用ng-class就可以像这样应用一个类:

NG-类:

 ng-class="{disabledLink: disabledFunction()}" 

CSS:

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

满分 –

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

这个问题之前已经回答了: 使用AngularJS启用/禁用锚标签

使用自定义指令或使用button。

是的,我们可以禁用锚标签,让我们看看有什么需要做的。 锚是可点击的,首先我们需要禁用点击,我们可以通过指针事件:无; 然后显示使用它的禁用,我们可以改变我们必须禁用它的颜色,如颜色:#95979A ;. 我们仍然需要了解这里发生的事情,添加上面的内容不会禁用锚标签的点击事件。 要停止,我们需要添加ng-disabled,我们添加属性事件为disabeld =禁用,我们需要捕捉,使用[禁用]。

所以最终代码: a [disabled] {pointer-events:none; color:#95979A;}将禁用锚标记的点击事件。

希望这有助于。 谢谢

ng-Disabled计算为true ,在通常为input的元素或其他表单控件上设置disabled属性。 <a>标签没有disabled属性,所以它永远不会被设置。 尝试将链接上的ng-disabled设置为true ,你会看到自己。

也许这将有助于: ng-disabled和锚标签哦Noes!

最好的方法是将禁用条件添加到锚的function。 因此,只有在禁用条件被检查并通过时才执行这些function。

 $scope.next_kh_resource = function(){ if ($scope.selected_kh_index < ($scope.selected_step.step_kh_resources.length -1)){ var next = $scope.selected_kh_index + 1; $scope.selected_kh_index = $scope.selected_kh_index +1; $scope.selected_kh_resource = $scope.selected_step.step_kh_resources[next]; } } $scope.prev_kh_resource = function(){ if ($scope.selected_kh_index > 0){ var prev = $scope.selected_kh_index -1; $scope.selected_kh_index = prev; $scope.selected_kh_resource = $scope.selected_step.step_kh_resources[prev]; } } 

在上面的例子中,我通过将禁用条件插入到函数中来禁用分页锚。 用户很聪明。 他们很快就会知道,它的最终页面,他们可以点击下一步,但什么都不会发生

我有一个导航button的同样的问题,这个解决方法是一个很好的解决scheme,我的项目!

 <a href="{{nextItem ? '/the-link/i-want-to-use' : '#'}}" ng-class="{'iamDisabled':!nextItem}">Some link text</a> 

基本上,有两个button(由链接标签制成)为下一个和其他为前一个。 有两个$scopevariables, nextItemprevItem ,每个button一个。 所以如果没有下一个(或之前)的标签将被正确的样式(所以你看到它的禁用)。

nextItem不为null时, href将呈现为href="/the-link/i-want-to-use" ,当为空时,href将为href="#"

使用禁用,而不是ng禁用

  <a a-disabled="addInviteesDisabled()">Add</a>