1

这是一个相当奇怪的案例,您可以在此处查看代码:

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

4

3 回答 3

1

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

<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/

于 2012-06-29T02:12:36.670 回答
0

http://jsfiddle.net/Cc55g/

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

于 2012-06-29T02:02:44.010 回答
0

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

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

这绝对是 Javascript 问题,因为如果您点击 google 并搜索event fire 两次,您会看到 Angular、Jquery 和骨干网等都在某个地方触发了两次甚至三次事件。所以,这似乎是它背后的javascript。当然,如果您使用 Mozilla Developers Network 搜索此内容,那么您会看到专家也这么说。

于 2014-02-02T14:40:13.037 回答