只需在click handler
中检查node name
是否为UL
,如果是,则跳过该特定的click event
。
event.target.nodeName
代码:
$('li.expandable').on('click', function (e) {
if(e.target.nodeName !== "INPUT")
{
//Code goes here.
}
});
!= 'INPUT'
可以工作,但会停止复选框被选中。 - david_adler
event.stopImmediatePropagation()
和event.stopPropagation()
,但都没有起作用?也许你没有正确地使用它们?请发布相应的代码。 - Felix Klingdiv
元素不能是ul
元素的子元素。文本和input
元素必须是li
元素的子元素,而li
元素必须是ul
元素的子元素。然后stopPropagation
应该按预期工作。 - Felix Kling