当单击触发器在父元素上时,防止取消选中复选框

min*_*eow 8 jquery user-interface

这里有点滑稽的问题.

我想在选中父div时检查复选框,但是当单击CHECKBOX时它是DESELECTING复选框;)

单击该名称时,它可以正常工作.我该如何解决这个问题?

//layout
<div class="parent">
   <input type="checkbox"/> <a>Name</a>
</div>

//check the box when parent div is clicked
$(".parent").click(function(event){
   event.preventDefault();
   checkbox=$(this).find("input:checkbox");
   checkbox.attr("checked","checked");
});
Run Code Online (Sandbox Code Playgroud)

nav*_*een 9

试试这个.

<div class="parent">
   <input type="checkbox" class="check"/> <a>Name</a>
</div>

$(".parent").click(function(event){
    $(".check:not(:checked)").attr('checked','checked');
});
$(".check").click(function(event){
   event.stopPropagation();
});
Run Code Online (Sandbox Code Playgroud)

jsFiddle就在这里

  • 这不起作用(不再?),使用`event.preventDefault();`而不是`event.stopPropagation();` (3认同)