Oto JSFiddle że powie, jeśli go uruchomić w każdej przeglądarce:
http://jsfiddle.net/BUkHz/
<label for="myRadio">Radio Button</label><input type="radio" name="myRadio" id="myRadio"/>
<label for="myRadio">Radio Button 2</label><input type="radio" name="myRadio" id="myRadio2"/>
var myRadio = document.getElementById('myRadio');
var myRadio2 = document.getElementById('myRadio2');
myRadio.addEventListener('change', interceptRadioEvent);
myRadio.addEventListener('click', interceptRadioEvent);
myRadio2.addEventListener('change', interceptRadioEvent);
myRadio2.addEventListener('click', interceptRadioEvent);
function interceptRadioEvent(e){
//do anything else you want to here...
radioEventHandler(e);
}
function radioEventHandler(e){
console.log(e.type);
}
Mam przeczucie, że kolejność zależy od tego, co robisz - na przykład, jeśli tylko jeden przycisk radiowy przy pierwszym kliknięciu będzie: zmiana, kliknięcie, kolejne kliknięcia będą "klikać" tylko wtedy, gdy reagują na kliknięcie, ale nie mogą go anulować.
Mam nadzieję, że to pomaga.
Na Mac:
Chrome: zmiana następnie kliknij
Safari: zmiana następnie kliknij
iOS (6): zmiana następnie kliknij
FYI: Nawet przy użyciu jQuery na Wydarzenia są w innej kolejności w zależności od przeglądarki. –
Afaik nie można zmienić kolejności uruchamiania, ale możesz sprawdzić "event.type" i "przekierowanie" do pożądanego modułu obsługi zdarzenia. – Teemu
Naprawdę nie muszę * zmieniać * kolejności (denerwującej jak ta różnica może być) - Chciałbym tylko wiedzieć, czego się spodziewać, i zastanawiałem się, czy ktoś inny zmapował to, zanim przeprowadzę masę testów. –