À quelle commande les événements déclenchent-ils sur un bouton-poussoir bouton?

Je sais que c'est différent entre les navigateurs; Par exemple, si j'attache une fonction à l'événement onclick et onchange d'un bouton radio, puis cliquez dessus, Chrome déclenche onchange puis onclick, tandis que Firefox fait le contraire.

Existe-t-il une ressource dont on sait que cela décompose cet appel par navigateur?

Voici un JSFiddle qui vous dira si vous l'exécutez dans chaque navigateur:

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); } 

J'ai l'impression que l'ordre dépend de ce que vous faites – par exemple, si vous ne disposez que d'un bouton radio sur le premier clic, il sera: changer, cliquer puis d'autres clics seraient «cliquer» uniquement car il répond au clic mais Ne peut pas le désactiver.

J'espère que cela vous aidera.

Sur un Mac:

Chrome: change puis cliquez sur

Safari: change puis cliquez sur

IOS (6): change puis cliquez sur