I solved the problem. It turns out that the problem is coming from having the inputs inside the "label" tag. (I did that to benefit from some css rules for labels instead of creating a new one!)
It has nothing to do with javaScript or events.
removing "label" tag solved it. Again, only Firefox has this strange behavior.