Javascript jQueryHTML点击事件触发两次

Javascript jQueryHTML点击事件触发两次,javascript,jquery,html,jquery-ui,Javascript,Jquery,Html,Jquery Ui,我有一个自定义的选择菜单按钮,我已经绑定到html点击事件来关闭它。但这一事件已经发生了两次 有人知道为什么/如何防止它触发两次吗?事件触发两次的原因是因为整个UI都在标签中 <div ...> <label for="xmod-form-51183d51afa3d" ... > <select name="theme" id="xmod-form-51183d51afa3d" ...> ...

我有一个自定义的选择菜单按钮,我已经绑定到html点击事件来关闭它。但这一事件已经发生了两次


有人知道为什么/如何防止它触发两次吗?

事件触发两次的原因是因为整个UI都在
标签中

<div  ...>
    <label for="xmod-form-51183d51afa3d" ... >
        <select name="theme" id="xmod-form-51183d51afa3d" ...>
            ...
        </select>
        ...
    </label>
</div>

...
...
单击标签还将触发与其相关的表单元素上的单击事件

如果删除
标签
元素,它将按预期工作:


如果您需要
标签
,请让它包含尽可能少的UI,但单击它仍会触发两个事件。

我有一种感觉,因为您正在将它绑定到
html
元素……那么将它绑定到
select
元素的
click
事件怎么样@因为这是为了点击元素来关闭它。但是双重射击的技术原因是什么?@yahelc:标签就是这样工作的。这是伟大的复选框或单选按钮。单击标签也将选中复选框/单选按钮。我会看看我是否能找到一个合适的参考。这听起来很熟悉,但它触发第二次点击事件似乎很奇怪。我猜点击标签会触发对子输入的点击,而作为冒泡触发第二次点击的结果,
我用表单控件作为标签的兄弟进行了测试,同样的情况下,触发了两次点击。MDN文档提到了一些关于合成点击事件的内容,但我不知道这是否意味着这种行为()。我同意这有点奇怪,我不能完全解释为什么会发生这种情况。我在中所能找到的只是,当标签被聚焦时,关联的from控件获得焦点。我会继续找的。
<div  ...>
    <label for="xmod-form-51183d51afa3d" ... >
        <select name="theme" id="xmod-form-51183d51afa3d" ...>
            ...
        </select>
        ...
    </label>
</div>