javascript – 点击事件触发两次

我正在尝试在单击标签文本时运行某些功能,但是单击事件已触发两次.
HTML

但如果我改变这样的HTML代码,它就不会发生.

我的脚本是这样的:

$('.label_one').click(function(){
    console.log('testing');
});

任何人都可以解释为什么会发生这种情况.
我的jsfiddle在这里检查一下.
 https://jsfiddle.net/sureshpattu/hvv6ucu8/3/

最佳答案
这是因为event bubbling.

通常,所有元素都会将事件冒泡到文档的根目录,而label标签会将事件冒泡到其子节点,以及单击标签dom时输入标记是如何勾选的.

因此,在您的情况下,您将事件处理程序附加到label标签

>单击标签标签调用
>其中的事件气泡和复选框被选中,复选框将事件发送到其父节点,再次是标签标签,因此它被调用两次.

解决这个问题,只需将事件处理程序附加到input / checkBox标签即可正常工作.

相关文章

vue阻止冒泡事件 阻止点击事件的执行 <div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些