请注意,此问题可能不适用于普通大众,因为除非您是快速点击器,否则不会发生此问题。 (150-200ms/click)我发布这个问题的原因是因为我的应用程序有一个表格,每个表格有20个以上的复选框,经过大量的研究后,我发现在这个问题上没有相关的问题。使用复选框+标签组合防止双击错误
这里有一个简单的场景 - 4个复选框和4个标签,每个复选框ID:
[CB1] Label 1
[CB2] Label 2
[CB3] Label 3
[CB4] Label 4
假设在每种情况下的所有认证机构都听之任之。
预期的行为:
- 我快速连续上4个可转债按一下,他们都将成为检查。 (true)
- 我快速连续点击4个标签,并且相应的CB被检查。 (仅适用于Chrome的真,但仍然不是最佳)
的情况下2 Win 7的实际行为(点击标签,因为你知道,标签是大和风格的,还复选框是微小和OS相关的):
- (在Firefox 19)CB2和CB4都听之任之,虽然下降列表中的单词“标签”被突出了标签2和标签4,因为如果我双击在他们。
- (在Chrome 26中)所有CB都得到了正确检查,但是在列表中,标签2和标签4突出显示单词“标签”,就好像我双击它们一样。
- (在IE 10中)CB2和CB4未被选中,但没有错误突出显示。
如果点击位于同一元素上,错误的行为可能是合理的。在我们的例子中,这些显然是唯一的复选框,它们使用不同的ID和名称。所以结果是非常意外的。
所以我的问题是:
有没有一种方法来禁用烧成双击事件时,我迅速点击不同的复选框,但仍然具有快速单次点击检查呢?
我来最接近的是下面的脚本,这有趣的制作火狐表现得如Chrome,而Chrome的行为,例如Firefox:
jQuery(document).on('dblclick', 'input:checkbox+label', function(event){
console.log('ugly hack fired');
$(this).click();
event.preventDefault();
})
请让我知道,如果任何简单的接近将工作。根据我的测试,涉及dblclick的其他建议无效。 – 2013-04-06 11:32:00