请注意,此问题可能不适用于一般公众,因为除非您是快速点击者,否则不会发生此问题.(150-200ms /点击)我发布此问题的原因是因为我的应用程序有一个彼此相邻的20多个复选框的表单,经过大量研究后我发现没有相关的问题.
这是一个简化的场景 - 4个复选框和4个标签,每个复选框ID一个:
[CB1] Label 1
[CB2] Label 2
[CB3] Label 3
[CB4] Label 4
Run Code Online (Sandbox Code Playgroud)
假设在每种情况下都取消选中所有CB.
预期行为:
Win 7上的案例2的实际行为(单击标签,因为如您所知,标签很大且可以样式化,并且复选框很小并且依赖于操作系统):
如果点击位于同一元素上,则错误行为可能是合理的.在我们的例子中,这些显然是具有不同ID和名称的唯一复选框.所以结果非常出乎意料.
所以我的问题是:
当我快速点击不同的复选框时,有没有办法禁用触发双击事件,但仍然可以通过快速单击来检查它们?
我最接近的是以下脚本,有趣地使Firefox表现得像Chrome,而Chrome的行为就像Firefox:
jQuery(document).on('dblclick', 'input:checkbox+label', function(event){
console.log('ugly hack fired');
$(this).click();
event.preventDefault();
})
Run Code Online (Sandbox Code Playgroud)