ng-disabled在span标签上无效

9

有一个带有glyphicon图标的span标签,我想要禁用它。但是ng-disabled没有起到作用,即这个图标仍然可以被点击。

<span ng-disabled="true" class="glyphicon glyphicon-trash" style="font-size:13px;" aria-hidden="true" ng-click="DeleteIpAdress(objIpAdress)" ng-show="objIpAdress.ShowRemoveButton" ng-model="objIpAdress.ShowRemoveButton" title="Delete IP address"></span>

标签里有什么问题吗?


1
禁用 span 标签是什么意思? - ngLover
仅用于按钮或表单元素 https://docs.angularjs.org/api/ng/directive/ngDisabled - Rohit Azad Malik
ng-disabled="true" ==> $scope.true,所以您需要设置变量$scope.true = true; 当然,禁用span标签是很奇怪的:D - KoIIIeY
如果您想将ng-disabled设置为TRUE,请尝试ng-disabled="'1'"或ng-disabled ="" - ""表示空字符串。 - KoIIIeY
@KoIIIeY,据我记得,你关于赋值是错的。如果作用域中没有 true,那么它就是真正的 true。 - Qwertiy
我只想禁用点击并使图标显示为禁用模式(浅灰色) - Sunil Garg
4个回答

9

ng-disabled指令只适用于输入字段和按钮,不适用于span元素。参考:ngDisabled文档

您可以使用以下代码防止点击操作

ng-click="isClickAllowed && DeleteIpAdress(objIpAdress)"

5

在 span 上使用 ng-disabled 不起作用。因此,我禁用了点击。

ng-click="disabledConditionHere || DeleteIpAdress(objIpAdress)"

然后通过使用类(class)更改span的样式

.disable-span{
    color: #E6E6E6;
    cursor: not-allowed;
}

并在 span 标签中使用 class。

class="disable-span"

1
我曾经遇到过同样的问题,记得解决方案是在ng-click中加入disabled条件。 ng-click="disabledConditionHere || DeleteIpAdress(objIpAdress)"

1
通过这种方式,我可以禁用点击,但我希望图标以禁用模式(浅灰色)显示。 - Sunil Garg

1
如果您使用的是Bootstrap,请在标签中添加btn btn-xs类。这将修复标签的ng-disabled问题。在Firefox中可以使用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接