Comment ajouter l'auditeur d'événements pour la case à cocher dans la fenêtre contextuelle de l'extension Chrome?

J'essaie de capturer les modifications de la checkbox à checkbox dans la fenêtre contextuelle de mon extension Chrome. La documentation dit :

Le JavaScript en ligne ne sera pas exécuté

Il existe un exemple sur la même page, mais pour le button . Je ne sais pas comment le modifier afin de capturer les changements d'état de Chekbox.

 document.addEventListener('DOMContentLoaded', function () { document.querySelector('button').addEventListener('click', clickHandler); }); 

Exemple

A eu le même problème mais fait référence à un site très utile qui répertorie les événements en version Javascript. Après avoir effectué une recherche rapide (Ctrl + F) pour le mot-clé "vérifier", j'ai trouvé l'événement "changement" répertorié … supposé compatible avec la plupart des navigateurs. Bien sûr, il était là, alors je suppose que, peut-être, il existe un «événement de changement» pour les cases à cocher. Faible, voici juste le tester et ça semble fonctionner. Voici votre code révisé un peu et le lien des événements ( http://help.dottoro.com/larrqqck.php ):

Exemple de html à partir de popup.html

  <div class="menu" > <input type="checkbox" id="showAlert" name="showAlert"/> <label for="showAlert"><nobr>Show Alert</nobr></label></div> 

Exemple d'extrait de code de popup.js

 document.addEventListener('DOMContentLoaded', function () { document.querySelector('#showAlert').addEventListener('change', changeHandler); }); 

Bien sûr, vous devrez passer cela dans une fonction comme:

 function changeHandler(){ //Do Something...maybe another function showAlert(), for instance if(showAlert.checked){ //do something } else{ //do something else } } 

Essayer:

 document.querySelector('checkbox').addEventListener('CheckboxStateChange', Handler); 

Alternativement, vous pouvez écouter les événements 'onChange' ou 'onClick', car chaque clic changera l'état de la case à cocher.