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()');
代码注释