我尝试在单击标签文本时运行某些函数,但是单击事件触发了两次。
HTML
但如果我像这样更改HTML代码,它将不会发生。
HTML
<label class="label_one">
Label One
<input type="checkbox"/>
</label>
但如果我像这样更改HTML代码,它将不会发生。
<label for="test" class="label_two">
Label Two
<input type="checkbox"/>
</label>
我的脚本是这样的:
$('.label_one').click(function(){
console.log('testing');
});
有人能解释一下为什么会出现这种情况吗?
我的jsfiddle在这里,请检查一下。
https://jsfiddle.net/sureshpattu/hvv6ucu8/3/
if(e.target != this) return;
进行过滤。 https://jsfiddle.net/hvv6ucu8/6/ - A. Wolffif(e.target != this) return;
或设置e.stopPropagation();
。 - A. Wolff