当我点击父母中的一个孩子时,如何防止jquery选择父母?

Leo*_*Leo 2 javascript jquery jquery-selectors

好快速方案:

HTML:

<span class="answer">blah<input type="radio" value="1"></span>

jQuery的:

$("span.answer").click(
function() {
check = $("input", this);
check.attr('checked', check.attr('checked') === true ? false : true);
);

好的,这样当我点击它内部时,这将检查/取消选中所选范围内的子无线电输入.

我遇到的问题是,当我实际点击单选按钮本身时,我不想运行此事件(显然因为jquery会将单选按钮视为已选中并取消选中 - 实际上与通常应该发生的情况完全相反).有点像这样:

$("span.answer:not(span input)").click

这当然不起作用.有任何想法吗?提前致谢!

狮子座

Koo*_*obz 5

$("span.answer input").click(function(evt)
{
    evt.stopPropagation();
});
Run Code Online (Sandbox Code Playgroud)

将阻止click事件冒泡(并在"span.answer"上触发处理程序.)