Javascript 当父项发生单击事件时,复选框功能不起作用
我在一个div中有一个复选框,它附带了一个click事件。但是直接勾选和取消勾选复选框是不起作用的Javascript 当父项发生单击事件时,复选框功能不起作用,javascript,jquery,Javascript,Jquery,我在一个div中有一个复选框,它附带了一个click事件。但是直接勾选和取消勾选复选框是不起作用的 <div class="container" onclick="select(this)"> <input type="checkbox" value="" /><label>Item</label> </div> function select(e) { var elm = $(e); var chkBox
<div class="container" onclick="select(this)">
<input type="checkbox" value="" /><label>Item</label>
</div>
function select(e) {
var elm = $(e);
var chkBox = elm.find('input');
console.log(chkBox.is(':checked'));
if(chkBox.is(':checked')) {
chkBox.prop("checked", false);
}else{
chkBox.prop("checked", true);
}
}
项目
功能选择(e){
var elm=$(e);
var chkBox=elm.find('input');
log(chkBox.is(':checked');
如果(chkBox.is(':checked')){
chkBox.prop(“选中”,假);
}否则{
chkBox.prop(“选中”,为真);
}
}
演示:您应该编写
var elm=getElementById('e')代码>而不是varelm=$(e)代码>
自己尝试:尝试正确绑定事件,而不是使用内联处理程序
HTML:
<div class="container">
<input type="checkbox" value="" /><label>Item</label>
</div>
$('div.container').click(function(e){
if($(e.target).is(':checkbox')){ return; }
var chkBox = $(this).find(':checkbox');
chkBox.prop("checked", !chkBox.is(':checked'));
});
如果我理解正确,您希望在单击div
和复选框时切换复选框,在这种情况下,添加
$('input[type="checkbox"]').click(function(e){
e.stopPropagation();
});
我希望即使选中了容器,也要选中复选框。