javascript - 拒绝更改复选框的状态

标签 javascript jquery checkbox

我需要拒绝更改任何复选框的状态:

window.doNotChange = function(event) {
  e = event || window.event;
  if (e) {
    e.stopPropagation();
    e.preventDefault();
    var t = $(e.target);
    t.prop({checked: typeof t.attr('checked') != 'undefined'});
  }
  alert('Deny to change THIS checkbox!');
};
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p><label><input type="checkbox" checked onchange="doNotChange(event)"> name 1 (readonly)</label></p>
<p><label><input type="checkbox" onchange="doNotChange(event)"> name 2 (readonly)</label></p>
<p><label><input type="checkbox" checked> name 3 (editable)</label></p>
<p><label><input type="checkbox" checked onchange="doNotChange(event)"> name 4 (readonly)</label></p>
<p><label><input type="checkbox"> name 5 (editable)</label></p>
<p>etc.</p>

这段代码有效。但有更好的解决方案吗?

最佳答案

只需使用 HTML 的 disabled 属性即可:

<input type="checkbox" disabled />

关于javascript - 拒绝更改复选框的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27080192/

相关文章:

javascript - 操作后验证 DOM 中不存在属性 - Protractor

html - 如何仅在选中时提交复选框,仅在未选中时以及在选中或未选中时都提交

Android 自定义复选框可绘制大小

javascript - CSS用字母填充div的整个宽度,不改变字间距

javascript - Angular 1 : multiple conditions with multiple conditions OR how to exclude conditions if other conditions are true

javascript - $scope.$watch ...让它在另一个作用域上返回一个函数?

javascript - 动态添加 Angular 指令

jquery - 如何使用 jQuery 循环遍历数组?

javascript - jQuery 显示带有子 iframe 的 div(所见即所得文本编辑器)

javascript - 如何在单击相应页脚时动态获取 Bootstrap 标题值?