我尝试按如下方式检查event.target.nodeName:
但是名称从未等于标签?我做错了什么吗?
快速jsfiddle
$("input").click(function(e){
if(e.target.nodeName == "LABEL") {
alert('label click');
e.preventDefault();
} else {
alert($(this).attr('checked') ? 'checked': 'unchecked');
}
});
但是名称从未等于标签?我做错了什么吗?
快速jsfiddle
nodeName
将始终等于您为事件选择的元素。除非您先选择标签,否则无法连接到标签。 - Ohgodwhye.target
,请始终绑定容器元素,基本上处理程序会在事件冒泡到达子元素时执行。 - Selvakumar Arumugam