多个复选框在Gmail中进行检查

时间:2010-12-30 21:58:15

标签: javascript jquery firefox google-chrome checkbox

我正在尝试使用复选框复制Gmail的行为,选择整个范围点击一个然后按住其他键,其间的复选框将会更改。

但是,我在Firefox和Chrome之间存在兼容性问题,因为单击复选框可以正常工作,但点击标签时它的处理方式却截然不同,因为Firefox在移位点击时显然不会触发更改。

You can check and test my code here.

显然Firefox和标签有问题,我已经尝试触发复选框的change(),但它向后反复复选框的行为,我尝试'重置'标签事件{{1然后触发preventDefault()事件并且问题似乎是相同的,但现在Chrome有这个 bug (我认为这是正确的方式,首先是同源化)。

简单的方法是检测浏览器,但是每个网络开发人员都告诉我们,最好是确定问题而不是浏览器,那么对此有什么好处呢?此外,它在IE中不起作用,因为它不支持change()

谢谢!

1 个答案:

答案 0 :(得分:1)

出于某种原因,在Firefox中突出显示文本时,标记的工作方式不同。我认为它失败的原因是因为当您按住shift并单击标签时,它不会选中该框,因此不会触发标记的事件。

看看这个:http://jsfiddle.net/xerf/Prxdn/10/

这适用于webkit和FireFox。我将标签更改为span标签。使用一点CSS,您可以修复填充。