Maison  >  Article  >  interface Web  >  Pourquoi l'événement onchange n'est-il pas déclenché pour le glissement d'entrée de plage dans Firefox ?

Pourquoi l'événement onchange n'est-il pas déclenché pour le glissement d'entrée de plage dans Firefox ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-21 18:33:29717parcourir

Why is the onchange Event Not Triggered for Range Input Drag in Firefox?

L'événement Firefox onchange n'est pas déclenché lors du déplacement de l'entrée de plage

Dans les éléments d'entrée de type « plage », lorsque le curseur est déplacé, le changement L'événement n'est déclenché que lorsque le curseur est déposé à une nouvelle position dans Firefox. En revanche, Chrome et d'autres navigateurs déclenchent des événements onchange pendant le glisser.

Solution : utiliser l'événement oninput

Firefox déclenche correctement l'événement onchange uniquement lors de la publication, conformément au spécification. Pour capturer les mises à jour en direct lors du glisser-déposer dans tous les navigateurs, utilisez plutôt l'événement oninput.

<code class="html">function showVal(newVal){
    document.getElementById("valBox").innerHTML=newVal;
}</code>
<code class="html"><span id="valBox"></span>
<input type="range" min="5" max="10" step="1" oninput="showVal(this.value)"></code>

Combiner oninput et onchange pour la compatibilité entre navigateurs

Pour compatibilité entre navigateurs, envisagez de combiner les gestionnaires d'événements oninput et onchange :

<code class="html"><span id="valBox"></span>
<input
  type="range"
  min="5"
  max="10"
  step="1"
  oninput="showVal(this.value)"
  onchange="showVal(this.value)"
/></code>

Cela garantit que les événements onchange sont toujours déclenchés dans Firefox lors de la sortie, tandis que les événements oninput fournissent des mises à jour continues dans tous les navigateurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn