Indeed with the onchange it's less "bad" in the sense that it'll work everywhere, the user experience is just going to be a little bit worse on firefox than other browserm that's all. Your call.
On the long run, if you care about wider browser support, you're going to have to detect user agents and use both events anyway.