Pour les menus de sélection, l'événement de changement se produit lorsqu'une option est sélectionnée par les événements des boutons du clavier et de la souris et NoScript n'interfère effectivement pas. Pour les champs de texte ou les zones de texte, l'événement de changement se produit lorsque le champ perd le focus. Vous ne pouvez donc pas utiliser l'événement de changement directement (sans sélectionner une option par le clavier ou la souris). essayez ce code :
<select name="subpos" id="subpos">
<option value="examplel">examplel</option>
<option value="sample">sample</option>
<option value="fortest">fortest</option>
</select>
<script>
$(function() {
$('#subpos').change(function() {
console.log('subpos has changed');
});
$("#subpos").val('sample');//combo box has change but dont appear in console log. why?
});
</script>
après l'exécution ; voir le journal de la console vous ne pouvez pas voir 'subpos has changed' dans le journal de la console. mais dans l'action 'subpos has changed'. Que se passe-t-il ? Il devrait être enregistré dans la console lorsque la sélection change. Maintenant, en sélectionnant cette option dans le menu déroulant, vous pouvez voir que le journal de la console est modifié.