因此,我们有一个复选框和与其关联的标签。我需要通过单击标签来切换复选框状态,如果单击主体上的其他任何位置,则请取消选中它。以下代码的问题是,无法通过单击标签取消选中该复选框。
$(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();
});
});Run Code Online (Sandbox Code Playgroud)
html, body {
margin: 0;
padding: 0;
height: 100%;
}Run Code Online (Sandbox Code Playgroud)
<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>Run Code Online (Sandbox Code Playgroud)
也停止从标签发生的事件冒泡, $("#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();
});
});Run Code Online (Sandbox Code Playgroud)
html, body {
margin: 0;
padding: 0;
height: 100%;
}Run Code Online (Sandbox Code Playgroud)
<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>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
469 次 |
| 最近记录: |