上面这段代码在IE下会生成一个多选框,单击它会选中打勾,再次单击则会取消打勾。
这样看上去并没有什么不妥的地方,但是如果你尝试快速两次单击(比双击稍微慢一点吧。。)这个按钮,可能效果并不如你想象的那样。
在IE下面,假如此时checkbox为选中状态,在你快速两次单击的过程中,第一次单击会使得checkbox取消选中,第二次单击完之后checkbox并不会变为已选中,而是继续保持取消选中状态。
在Chrome等浏览器下,第一次单击会使得checkbox取消选中,在第二次单击之后checkbox会还原为已选中的状态。
所以在IE下,双击后,checkbox会变为相反的状态。在非IE下,双击后checkbox为相同的状态。
如果想在IE下双击checkbox会达到非IE下的效果,则需使用如下代码:
$("input[type='checkbox']").attr('ondblclick', 'this.click()');