我当时的假设是,如果禁用div,那么所有内容也会被禁用。
但是,内容为灰色,但我仍然可以与之交互。
有没有办法做到这一点?(禁用div并同时禁用所有内容)
我当时的假设是,如果禁用div,那么所有内容也会被禁用。
但是,内容为灰色,但我仍然可以与之交互。
有没有办法做到这一点?(禁用div并同时禁用所有内容)
如果要保留禁用的语义,如下所示
<div disabled="disabled"> Your content here </div>
您可以添加以下CSS
div[disabled=disabled] {
pointer-events: none;
opacity: 0.4;
}
这样做的好处是您不在要使用的div上使用类
如评论中所述,您仍然可以通过使用Tab键在元素之间导航来访问元素。所以我推荐这个:
$("#mydiv")
.css({"pointer-events" : "none" , "opacity" : "0.4"})
.attr("tabindex" , "-1");
我以为我会记一些笔记。
div
在fieldset
标签内包装:
<fieldset disabled>
<div>your controls</div>
</fieldset>
您可以使用此简单的CSS语句来禁用事件
#my-div {
pointer-events:none;
}
上述许多答案仅适用于表单元素。禁用任何DIV包括其内容的简单方法是仅禁用鼠标交互。例如:
$("#mydiv").addClass("disabledbutton");
的CSS
.disabledbutton {
pointer-events: none;
opacity: 0.4;
}
对于不需要div只是一个基本元素的人,这里是一个简短的评论。在HTML5中<fieldset disabled="disabled"></fieldset>
获得了disable属性。禁用字段集中的每个表单元素均被禁用。
如何禁用DIV的内容
pointer-events
单独的CSS 属性不会阻止子元素滚动,并且IE10及以下版本的DIV元素(仅对于SVG)不支持该属性。 http://caniuse.com/#feat=pointer-events在所有浏览器上禁用DIV的内容。
Javascript:
CSS:
在除IE10及以下版本的所有浏览器上禁用DIV的内容。
Javascript:
CSS: