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; }
满分 –
这个问题之前已经回答了: 使用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(由链接标签制成)为下一个和其他为前一个。 有两个$scope
variables, nextItem
和prevItem
,每个button一个。 所以如果没有下一个(或之前)的标签将被正确的样式(所以你看到它的禁用)。
当nextItem
不为null时, href
将呈现为href="/the-link/i-want-to-use"
,当为空时,href将为href="#"
。
使用禁用,而不是ng禁用
<a a-disabled="addInviteesDisabled()">Add</a>