javascript – 点击事件触发两次

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

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

我的脚本是这样的:

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

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

最佳答案
这是因为event bubbling.

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

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

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

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

相关文章

操作步骤 1、进入elasticsearch的plugin,进入ik。进入config。 2、在config下面建立以.dic为后缀的字典...
lengend data数据中若存在'',则表示换行,用''切割。
代码实现 option = { backgroundColor: '#080b30', tooltip: { trigger: &...
问题原因 原因在于直接在js中取的变量并复制给var变量。 于是就变成这样。 解决办法 var data = &#...
前言 最近做了一个调查问卷导出的功能,需求是将维护的题目,答案,导出成word,参考了几种方案之后,选...
对于很多人来说,用字符编码都是熟能生巧,而不清楚为什么是那样的字符编码,所以我在这列了一个表,翻...