在父单击时使用jQuery切换Checkbox

Cam*_*ron 3 javascript jquery

我有以下代码示例:http://jsfiddle.net/sX3w9/

$('.item').on('click', function() {
            var checkbox = $(this).find('input');
            checkbox.attr("checked", !checkbox.attr("checked"));    
            $(this).toggleClass('selected');
        });
Run Code Online (Sandbox Code Playgroud)

用户应该能够单击其中的div.item和/或复选框,并且应该选中或取消选中该复选框,并从div中添加或删除所选的类.

它在单击div时有效,但单击该复选框会立即再次取消选中它...

cyc*_*HuH 8

请尝试以下代码:

$('.item').on('click', function() {
            var checkbox = $(this).find('input');
            checkbox.attr("checked", !checkbox.attr("checked"));    
            $(this).toggleClass('selected');
        });
$(".item input").on("click", function(e){
    e.stopPropagation();
    $(this).parents(".item").toggleClass('selected');
});
Run Code Online (Sandbox Code Playgroud)

问题是,当您选中复选框时,单击div会发生并且它会再次取消选中checbox.