Angularjs 单击“退出”按钮时切换按钮
按钮有两种状态,状态1和状态2 它默认为State2。当我单击该按钮时,它将切换到状态1。 当我点击按钮外的任何地方时,我需要它从State1变回State2。这是我的代码:Angularjs 单击“退出”按钮时切换按钮,angularjs,Angularjs,按钮有两种状态,状态1和状态2 它默认为State2。当我单击该按钮时,它将切换到状态1。 当我点击按钮外的任何地方时,我需要它从State1变回State2。这是我的代码: <div ng-click="Ctrl.Check = !Ctrl.Check"> <a ng-class="{'btn-danger': !Ctrl.Check, 'btn-default': Ctrl.Check }" > {{ Ctrl.
<div ng-click="Ctrl.Check = !Ctrl.Check">
<a ng-class="{'btn-danger': !Ctrl.Check, 'btn-default': Ctrl.Check }" >
{{ Ctrl.Check ? 'State1' : 'State2' }}
</a>
</div>
听起来你只是在检查元素是否有焦点。这比在表单上放置一堆ng click处理程序来切换一个输入要容易得多 使用和相应的ng模糊。如果您使用的HTML元素可以像a一样具有焦点,那么您可以使用如下代码
<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>
尝试将class=btn添加到A元素当你说单击离开按钮时,你的意思是当按钮在模糊上失去焦点时?@ryanyuyu我的意思是不单击按钮触发切换单击按钮之外的任何位置?是的,我的意思是@ryanyuyuh当你同时单击按钮时,你如何使其切换?等等。在单击和模糊之间切换?这没有什么意义。但是您可以只添加ng click=Ctrl.Check=!Ctrl,Check或者类似的东西。