我正在尝试检查event.target.nodeName,如下所示:
$("input").click(function(e){
if(e.target.nodeName == "LABEL") {
alert('label click');
e.preventDefault();
} else {
alert($(this).attr('checked') ? 'checked': 'unchecked');
}
});
Run Code Online (Sandbox Code Playgroud)
但名称永远不等于标签?我究竟做错了什么?
快速的jsfiddle
您应该选择label(父)元素.目前,您的点击处理程序的唯一目标是输入元素:
$("label").click(function(e){
// ...
})
Run Code Online (Sandbox Code Playgroud)