IE下双击checkbox反应延迟问题的解决方法

内容摘要
复制代码 代码如下: <span style="font-size:18px;"><input type='checkbox'/></span> 上面这段代码在IE下会生成一个多选框,单击它会选中打勾,再次单击则会取消打勾。

文章正文
复制代码 代码如下:

<span style="font-size:18px;"><input type='checkbox'/></span>

上面这段代码在IE下会生成一个多选框,单击它会选中打勾,再次单击则会取消打勾。

这样看上去并没有什么不妥的地方,但是如果你尝试快速两次单击(比双击稍微慢一点吧。。)这个按钮,可能效果并不如你想象的那样。

在IE下面,假如此时checkbox为选中状态,在你快速两次单击的过程中,第一次单击会使得checkbox取消选中,第二次单击完之后checkbox并不会变为已选中,而是继续保持取消选中状态。

在Chrome等浏览器下,第一次单击会使得checkbox取消选中,在第二次单击之后checkbox会还原为已选中的状态。

所以在IE下,双击后,checkbox会变为相反的状态。在非IE下,双击后checkbox为相同的状态。

如果想在IE下双击checkbox会达到非IE下的效果,则需使用如下代码:
复制代码 代码如下:

<input type='checkbox'/>
$("input[type='checkbox']").attr('ondblclick', 'this.click()');

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!