因此,我们有一个复选框和一个与之关联的标签。 我需要通过单击标签来切换复选框状态,如果我单击身体上的任何其他位置,则取消选中它。 下面代码的问题是,单击标签无法取消选中该复选框。
$(function () {
"use strict";
function uncheckBox() {
var isChecked = $("#cbox").prop("checked");
if (isChecked) {
$("#cbox").prop("checked", false);
}
}
$("body").on("click", function () {
uncheckBox();
});
$("#cbox").on("click", function (e) {
e.stopPropagation();
});
});
html, body {
margin: 0;
padding: 0;
height: 100%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<input type="checkbox" id="cbox" value="checkbox"/>
<label for="cbox">testbox</label>
答案 0 :(得分:5)
停止标签$("#cbox,label").click
$(function () {
"use strict";
function uncheckBox() {
var isChecked = $("#cbox").prop("checked");
if (isChecked) {
$("#cbox").prop("checked", false);
}
}
$("body").on("click", function () {
uncheckBox();
});
$("#cbox,label").on("click", function (e) {
e.stopPropagation();
});
});
html, body {
margin: 0;
padding: 0;
height: 100%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<input type="checkbox" id="cbox" value="checkbox"/>
<label for="cbox">testbox</label>