禁用按钮在禁用时隐藏

Disabled button is hidden when disabled

我正在处理使用 Chrome 60.0.3112.90 的人出现的问题,其中更改了按钮的 disabled 属性,隐藏了它。

我创建了一个最小的、完整的和可验证的示例,您可以在其中单击 + 按钮来切换 disabled 属性。

https://jsfiddle.net/1wtj8a8a/3/

删除 overflow: hidden 似乎可以解决问题,但我宁愿不这样做,因为按钮上的文本会重叠(在我的实际设置中)。我尝试用 overflow-x: hidden 替换它,但无济于事。

问题

我不完全确定为什么会这样,但我之前 运行 随机消失的元素(通常与 position: fixed 一起)并在元素上使用 translateZ(0)将导致浏览器重新绘制它,确保它不会消失。

angular.module('App',[])
 .controller('MyCtrl', ['$scope', function ($scope) {
   $scope.b = true;
    }
])
div.wrap {
  width: 50px;
}
button {
  overflow: hidden;
  transform: translateZ(0);
}
<link href="https://maxcdn.bootstrapcdn.com/twitter-bootstrap/2.0.4/css/bootstrap-combined.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.0/angular.min.js"></script>
<body ng-app="App">
<div ng-controller="MyCtrl" >
  <div class="wrap">
    <button class="btn btn-mini pull-left">A</button>
    <button class="btn btn-mini pull-right" ng-disabled="b">B</button> 
  </div>
  <button ng-click="b=!b">+</button>
</div>
</body>