单击父级时的jQuery切换复选框

Ada*_*mat 1 html checkbox jquery toggle prop

我编写了一个简单的js函数来打开/关闭复选框,然后单击父级(在本例中为TD).单击TD上的任意位置时,此功能可按预期工作.

但是,当您单击复选框本身时,没有任何反应.
我想知道的是为什么它这样做以及最好的解决方法是什么?

我有一个jsfiddle来演示这个.

这是我的js函数:

$("td.onoff").click(function() {
    var objCheckbox = $(this).find("input[type=checkbox]");
    if( objCheckbox.length >= 1 ) {
        objCheckbox.prop("checked", !objCheckbox.prop("checked"));
    }
});
Run Code Online (Sandbox Code Playgroud)

谢谢.

Adi*_*dil 5

你需要by pass event code when source of event is not td with class onoff,你可以这样做.

现场演示

$(function() {
    $("td.onoff").click(function(event) {          
        if(event.target.className != 'onoff') return;
        var objCheckbox = $(this).find("input[type=checkbox]");
        if( objCheckbox.length >= 1 ) {
            objCheckbox.prop("checked", !objCheckbox.prop("checked"));
        }
    });
});
Run Code Online (Sandbox Code Playgroud)