jQuery点击事件两次触发?

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

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

你不应该使用label元素包装input元素,试试这个:

   

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

http://jsfiddle.net/Cc55g/

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

这是Javascript中常见的Bug。 你可以在互联网上找到很多文章特别是在SO上两次被解雇的事件。 你可以尝试这样的事情

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

它肯定是Javascript问题,因为如果你点击谷歌并搜索事件火两次,你会看到Angular,Jquery和骨干等都在某处发射事件两次甚至三次。 所以,它似乎是背后的javascript。 当然,如果你用Mozilla开发者网络进行搜索,那么你可以看到专家也这么说了。