我在 ng-repeat 中有这个代码:

<a href="#" class="disabled" ng-click="doSomething(object)">Do something</a>

当按钮有 class="disabled" 时,如何设置按钮被禁用的条件?

或者有没有办法在 Javascript 中做到这一点,它看起来像:
$('.do-something-button').click(function(){
  if (!$(this).hasClass('disabled')) {
    do something
  }
});

最佳答案

在除指令之外的任何地方使用 DOM 进行操作(包括检查属性)都是不好的。您可以将一些值添加到范围内,指示是否应禁用链接。

但另一个问题是 ngDisabled 对表单控件以外的任何东西都不起作用,因此您不能将它与 一起使用,但您可以将它与 一起使用并将其设置为链接。

另一种方法是对像 isDisabled || action() 这样的表达式使用惰性求值,因此如果 isDisabled 为真,则不会调用操作。

这里有两种解决方案:
http://plnkr.co/edit/5d5R5KfD4PCE8vS3OSSx?p=preview

关于javascript - 如何使 ng-click 事件有条件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14545744/

10-17 02:54