j查询点击事件触发两次

jQuery click event firing twice?

本文关键字:两次 查询 事件      更新时间:2023-09-26
这是一个

相当奇怪的情况,你可以在这里看到代码:

http://jsfiddle.net/zpZtH/2/

不应该使用 label 元素包装input元素,请尝试以下操作:

<label for="average-data" class="section-view-time-checkbox">
    <span class="custom checkbox checked"></span> Average  
</label>
<input type="checkbox" id="average-data" style="display: none;">

http://jsfiddle.net/zpZtH/7/

http://jsfiddle.net/Cc55g/

您需要在点击处理程序中调用event.preventDefault()。这样可以防止在自定义函数运行后执行默认单击操作。出现第二个警报是因为正在提交表单。

这是Javascript中常见的错误。 您可以在互联网上找到许多文章,特别是关于 SO 的事件被触发两次。你可以尝试这样的东西

 $(document).on('click', '#task-list li', function(e)
 {
       alert('Hellow world');
       e.stopPropagation();
       return false;
 });

这绝对是Javascript的问题,因为如果你点击谷歌并搜索事件触发两次,你会看到Angular,Jquery和backbone等都在某个地方触发事件两次甚至三次。所以,这背后似乎是javascript。当然,如果你用Mozilla开发者网络搜索这个,那么你可以看到专家也这么说。