javascript - 当其他按钮被禁用时隐藏按钮事件

标签 javascript jquery html css angularjs

我想要一个 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-hideng-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/

相关文章:

javascript - 移动设备上的 Google Chrome 在文件输入时触发额外不需要的 MouseEvent

javascript - 显示 "Unsupported"浏览器消息的最佳方式

javascript - 在用户输入时将输入值附加到 div jquery

html - 为什么有些字体大小在浏览器中不一致?

javascript - D3.js 对力导向图使用什么算法?

javascript - Greasemonkey与jQuery,如何编写greasemonkey脚本来修改页面DOM元素?

JavaScript 表单验证错误

javascript - 每个列表项的颜色选择器未正确显示

jquery - 自定义进度条

html - 在基于 id 的 css 中重用类