我想要一个 jQuery 或 javascript 或 CSS 中的事件,当其他按钮(“B”按钮)(不在表单中)被禁用且相反时,它可以隐藏一个按钮(“A”按钮)。启用“B”按钮时显示“A”按钮。
“B”按钮有 Angular 代码,但我无法访问 $scope
。
<div ng-if="something" class="steps-pager ng-scope">
<!-- More stuff -->
<a href="" ng-click="goTo()" class="next" title="next step" tabindex="0" ng-class="{hidden:disableButton}">next</a>
</div>
我在前端工作(使用分析测试软件),但我不知道必须触发“B”按钮启用或禁用状态的所有元素是什么。它可以是点击,也可以是验证和其他东西。
我尝试使用 on change 事件对其进行测试,但它们仅适用于输入元素。我试图获取 $scope 但它似乎受到保护。我无权访问 $Scope。有一个间隔可能是可行的,但是对于这个网站来说,在一个巨大的过程的每个步骤中都有一个间隔是很重的。
最佳答案
在AngularJs中可以使用ng-hide
和ng-disabled
来实现上述场景。
您始终可以通过将范围对象设置为 true 来动态分配 ng-disabled
值和其他表单验证结果。
下面是工作DEMO
(function(angular) {
'use strict';
angular.module('app', [])
.controller('Ctrl', ['$scope', function($scope) {
$scope.disableA = false;
$scope.disableB = false;
$scope.disable = function() {
$scope.disableB = $scope.disableA ? false:true;
};
}]);
})(window.angular);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-app="app">
<div ng-controller="Ctrl">
<button ng-click="" ng-hide="disableB" ng-disabled="disableA">Button A</button>
<button ng-click="" ng-hide="disableA" ng-disabled="disableB">Button B</button>
<button ng-click="disable()" ng-hide="">Disable B</button>
</div>
</body>
关于javascript - 当其他按钮被禁用时隐藏按钮事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47979035/