Capturer les événements de souris pour l'élément d'option HTML sur Internet Explorer
-
10-07-2019 - |
Question
Pour Internet Explorer uniquement, il semble que la cible (srcElement) des clics, des souris, des souris, des survols, etc. sur les éléments <select />
ne soit pas liée à l'élément <option />
.
Étant donné le code HTML suivant:
<select id="madness">
<option value="1">One</option>
<option value="2">Two</option>
<option value="2">Three</option>
</select>
et ce gestionnaire d'événements jQuery de base:
$("#madness").mousedown(function(e){
alert(e.target.value); //jQuery pushes srcElement into the target for us here
});
L'objet se trouvant dans e.target
ou e.srcElement
est toujours égal à <<> et non à document.elementFromPoint(e.clientX,e.clientY)
.
J'ai décidé de faire preuve de créativité et d'essayer d'utiliser <=>, ce qui renvoie également l'élément SELECT.
Cela pose la question suivante: existe-t-il un moyen de déterminer le <=> contenu d’un <=> via des arguments, des coordonnées ou autre chose? Je suis conscient que je peux simuler cela avec un div de cases à cocher. Pour les besoins de cette question, je voudrais toute solution pouvant utiliser l’élément select natif.
La solution
En d'autres termes, aucune solution n'utilise l'élément select natif.
Autres conseils
Vous pouvez faire:
$("#madness").val()
Pour obtenir la valeur de la < option / >.
sélectionnée