I’ve made some researches on the Internet, and there is no beautiful way to fix that. The only way is to totally give up onChange events for those two elements (yes, you HAVE to give up a very regular feature just because ONE browser doesn’t support it properly), and to replace it by an onClick event. You’ll then hope that your code doesn’t change the values of your checkboxes in another way than by clicking on it, otherwise you’re fucked. Or you have to call the related onClick function every time.
Let’s see for example the case when you use an HTML label element for your input:
<input type="checkbox" onclick="someFunction();" id="myCheckbox" />
I just had to change that in my case hopefully.