ben*_*ben 6 javascript checkbox jquery jquery-ui
我正在使用一个允许用户在一个区域中绘制框的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,但是如果你只创建一个盒子(因此一个复选框),就会出现同样的问题.
我不知道为什么,但是在摆弄时(是的,在 fiddlejs 上),这似乎可以解决问题
$('#box', ui.box).click(
function(evt){
evt.stopPropagation();
}
);
Run Code Online (Sandbox Code Playgroud)
设置盒子时。请参阅: http: //jsfiddle.net/BBh3r/9/
我实际上试图拦截该事件并手动将其设置为选中,但如果不需要设置它,那么嘿..也许在某个地方生成了一个额外的事件来否定第一个..?但点击只触发一次。
附言。仅在 Linux 版 Chrome 上进行了测试