禁用通过CSS单击复选框

Jac*_*cob 18 html css checkbox

是否可以通过禁用checkbox点击次数CSS.但保持checkbox完整的功能所以我们可以动态设置其值Javascript.我无法找到合适的解决方案.

pointer-events:none
Run Code Online (Sandbox Code Playgroud)

不工作

Gre*_*ard 20

只是html解决方案将是这样的.

<input type="checkbox" disabled="disabled" id="checkBox"/>
Run Code Online (Sandbox Code Playgroud)

如果你想这样做的话 javascript

document.getElementById("checkBox").disabled=true;
Run Code Online (Sandbox Code Playgroud)

  • Green Wizard 不知道你的第一个解决方案是 **css** 吗??在元素上设置 disabled 属性是一种 HTML 解决方案。 (3认同)

joh*_*son 11

您可以在复选框的顶部放置一个透明div,通过切换父对象上的类使其无法单击.像这样......

.container{
  position:relative;
  display:block;

}
.cover{
  width:100%;
  height:100%;
  background:transparent;
  position:absolute;
  z-index:2;
  top:0;
  left:0;
  display:none;

}

.container.disable-checkbox .cover{
  display:block;
}
Run Code Online (Sandbox Code Playgroud)
<div class="container">
  <div class="cover"></div>
  <input type="checkbox"/> "clickable"

</div>
<div class="container disable-checkbox">
  <div class="cover"></div>
  <input type="checkbox"/> "un-clickable"
</div>
Run Code Online (Sandbox Code Playgroud)


Tet*_*axa 6

如果pointer-events浏览器不支持,则不,不支持css.

  • 问题是“pointer-events:none”仅适用于因“指针事件”而更改值的输入。诸如复选框和单选按钮之类的输入在交互时会更改其状态,而不是其值。并不会让你的答案不正确,但是有一点需要注意的是,“指针事件”*可以*被支持,但这仍然行不通。 (3认同)

Han*_*man 5

您可能需要一些JavaScript。如果您正在运行jQuery,则可以使用以下示例:

$('input[type="checkbox"]').on('click', function(ev){
    ev.preventDefault();
})
Run Code Online (Sandbox Code Playgroud)

还是一种快速而肮脏的方法,将onClick属性添加到复选框中,如下所示:

<input type="checkbox" onClick="return false;">
Run Code Online (Sandbox Code Playgroud)


小智 5

这可以通过设置pointer-events: none复选框的父元素来实现:)