Multiple checkboxes check as in Gmail
I'm trying to copy the behavior of Gmail with the checkboxes, selecting a whole range click on one and then shift-clicking another, the checkboxes in between these will change.

However, I'm having a compatibility issue between Firefox and Chrome as clicking the checkboxes works just fine, but clicking the labels somehow it's handled very differently, as Firefox will apparently not trigger the change when shift-clicking.

[You can check and test my code here.][1]

Obviously there's a trouble with Firefox and the label, I've tried triggering the checkbox's `change()`, but it works backwards the behavior of the checkbox, I've tried 'resetting' the label events with `preventDefault()` and then triggering the `change()` event and the issue seems to be the same, but now Chrome has this _bug_ (which I think it's somehow the correct way, first homologizing).

The easy way is detecting browsers, but every web developer guru tells us that it's better to identify the problem rather than the browser, so what would be a good fix for this? Also, it doesn't work in IE because it doesn't support `indexOf()`.

Thanks!


  [1]: http://jsfiddle.net/Prxdn/
Multiple checkboxes check as in Gmail
===

I'm trying to copy the behavior of Gmail with the checkboxes, selecting a whole range click on one and then shift-clicking another, the checkboxes in between these will change.

However, I'm having a compatibility issue between Firefox and Chrome as clicking the checkboxes works just fine, but clicking the labels somehow it's handled very differently, as Firefox will apparently not trigger the change when shift-clicking.

[You can check and test my code here.][1]

Obviously there's a trouble with Firefox and the label, I've tried triggering the checkbox's `change()`, but it works backwards the behavior of the checkbox, I've tried 'resetting' the label events with `preventDefault()` and then triggering the `change()` event and the issue seems to be the same, but now Chrome has this _bug_ (which I think it's somehow the correct way, first homologizing).

The easy way is detecting browsers, but every web developer guru tells us that it's better to identify the problem rather than the browser, so what would be a good fix for this? Also, it doesn't work in IE because it doesn't support `indexOf()`.

Thanks!


  [1]: http://jsfiddle.net/Prxdn/