我有一个按钮状态"State1"
和"State2"
。
默认为"State2"
。当我点击按钮时,它会切换到"State1"
当我点击按钮外的任何地方时,我需要将其从"State1"
更改回"State2"
。这是我的代码:
<div ng-click="Ctrl.Check = !Ctrl.Check">
<a ng-class="{'btn-danger': !Ctrl.Check, 'btn-default': Ctrl.Check }" >
{{ Ctrl.Check ? 'State1' : 'State2' }}
</a>
</div>
答案 0 :(得分:1)
听起来你只是在检查元素是否具有焦点。这比在表单上放置一堆ng-click
处理程序更容易,只是为了切换一个输入。
使用ng-focus
和相应的ng-blur
。如果您使用可以具有焦点的HTML元素(如<button>
),则可以使用
<button type="button" class="btn"
ng-class="{'btn-danger': !Ctrl.Check, 'btn-default': Ctrl.Check }"
ng-focus="Ctrl.Check = true"
ng-blur="Ctrl.Check = false">
{{ Ctrl.Check ? 'State1' : 'State2' }}
</button>