我曾尝试在div标记中使用ng-disabled,但它不起作用。 ng-disabled会在div标签上工作吗?如果是,那么如何?ng-disabled是否在div标签中工作?如果不是,那为什么?
<div ng-disabled="true">
<button>bbb</button>
</div>
我曾尝试在div标记中使用ng-disabled,但它不起作用。 ng-disabled会在div标签上工作吗?如果是,那么如何?ng-disabled是否在div标签中工作?如果不是,那为什么?
<div ng-disabled="true">
<button>bbb</button>
</div>
“ng-disabled”只是添加或删除元素上的“disabled”属性。 但是在HTML中,“禁用”div在所有方面都没有任何效果。
所以用“ng-disabled”的方式工作,但在div上使用它是没有意义的。
您可以将“ng-disabled”添加到字段集,尽管这会使嵌套在其中的输入元素显示为禁用。
另一个解决方法可以是通过使用CSS属性“不透明度”和“指针事件:无”来模拟禁用效果,见http://nerd.vasilis.nl/disable-html-elements-with-css-only/
有若干在HTML元素,是以“禁用”属性实际上, DIV不是其中之一。
你可以看到什么样的元素采取属性,here
这些元素接受 '禁用' ATTR:
“NG-禁用”的使用,如角的开发指南说,是仅针对输入标记。
<INPUT ng-disabled="">
...
</INPUT>
输入是一个自闭标签。 – otherDewi 2017-10-12 10:48:12
因此,从我收集的情况来看,您试图在按下按钮时禁用div吗?否则,你可以像这样禁用按钮。
<div>
<button ng-disabled="true">bbb</button>
</div>
但我不明白为什么,因为它不能再次启用。
您可以使用下一个指令:
// ************ ** // //此指令是针对所有元素的ng-disabled指令,而不仅用于按钮 // ************************* ********** //
app.directive('disabledElement', function() {
return {
restrict: 'A',
scope: {
disabled: '@'
},
link: function (scope, element, attrs) {
scope.$parent.$watch(attrs.disabledElement, function (newVal) {
if (newVal)
$(element).css('pointerEvents', 'none');
else
$(element).css('pointerEvents', 'all');
});
}
}
});
和HTML:
<div ng-click="PreviewMobile()" data-disabled-element="toolbar_lock"></div>
尝试添加'-webkit-touch-callout:none' – oCcSking 2015-12-07 11:15:44
在问候加入CSS效果,如果你使用的引导 - 它已经为按钮做这个。您可以轻松添加自己的CSS样式:http://plnkr.co/edit/nmBmfKC7a56iDmupqh7Z?p=preview – NoobSter 2017-02-16 20:34:45