eventos captura do mouse para HTML elemento de opção no IE
-
10-07-2019 - |
Pergunta
Para o Internet Explorer apenas parece que o alvo (srcElement) de cliques, mousedowns, mouseups, mouseovers, etc sobre elementos <select />
não será vinculado ao elemento <option />
.
Dado o seguinte HTML:
<select id="madness">
<option value="1">One</option>
<option value="2">Two</option>
<option value="2">Three</option>
</select>
e esse manipulador básica evento jQuery:
$("#madness").mousedown(function(e){
alert(e.target.value); //jQuery pushes srcElement into the target for us here
});
O objeto que está em e.target
ou e.srcElement
é sempre igual ao <select />
e não o <option />
.
Eu decidi ser criativo e tentar usar document.elementFromPoint(e.clientX,e.clientY)
e que retorna o elemento SELECT também.
Isso traz a pergunta: existe alguma maneira para determinar o <option />
inside de um argumentos de evento <select />
via, coordenadas, ou qualquer outra coisa? Estou ciente de que eu posso fingir isso com uma div rolagem de caixas de seleção. Para efeitos da presente pergunta, eu gostaria de quaisquer soluções que podem usar o elemento select nativa.
Solução
Coloque simplesmente não existem soluções que usam o elemento select nativa.
Outras dicas
Você pode fazer:
$("#madness").val()
Para obter o valor do selecionado .