为什么不能单击这个用jQuery动态创建的复选框?

ben*_*ben 6 javascript checkbox jquery jquery-ui

的jsfiddle

我正在使用一个允许用户在一个区域中绘制框的jQuery插件.我使用jQuery在用户放开鼠标按钮时出现的框中放置一个复选框(以及下拉列表)(这是jsFiddle中javascript的底部).问题是,复选框无法点击.

我有一些点击检查代码_mouseStart,_mouseDrag以及_mouseStop事件从当你在现有的中单击创建停止另一个盒子,但我不认为这是造成问题的原因,可以通过点击创建下拉列表,此外,如果您删除点击检查代码,则复选框仍然无法点击.

是什么导致复选框无法点击?谢谢阅读.

编辑:感谢VinayC的回答,我现在可以看到点击到达复选框,使用以下代码:

$('#box').click(function(e){
    alert('clicked');
    $(this).attr('checked', true);
});
Run Code Online (Sandbox Code Playgroud)

但该$(this).attr('checked', true);行不会选中复选框.谁能告诉我为什么?我已经更新了jsFiddle

编辑2:Harmen注意到代码为每个复选框分配了相同的id.在实际的代码中有一个附加到id的计数器,所以每个都是唯一的,但我已经把它拿出来因为我认为这只是一个jQuery问题.我会改变jsFiddle,但是如果你只创建一个盒子(因此一个复选框),就会出现同样的问题.

Ale*_*gen 3

我不知道为什么,但是在摆弄时(是的,在 fiddlejs 上),这似乎可以解决问题

  $('#box', ui.box).click(
      function(evt){
          evt.stopPropagation();
      }
   );
Run Code Online (Sandbox Code Playgroud)

设置盒子时。请参阅: http: //jsfiddle.net/BBh3r/9/

我实际上试图拦截该事件并手动将其设置为选中,但如果不需要设置它,那么嘿..也许在某个地方生成了一个额外的事件来否定第一个..?但点击只触发一次。

可能与构建 jquery 复选框有关 - 无法设置选中值

附言。仅在 Linux 版 Chrome 上进行了测试