La soluzione Raj_89 è la più vicina all'opzione valida anche se citato da Kevin Swarts in un commento che interromperà IE, che per un numero elevato di client aziendali è un problema (e dirà al client che non si codificherà per IE "perché ragioni" è improbabile che renda felice il tuo capo;)).
Così ho giocato con esso e qui è il problema: l'evento "onmousedown" sta entrando in forma in IE, quindi quello che vogliamo fare è prevenire l'impostazione predefinita quando l'utente fa clic sul menu a discesa per la prima volta.È importante questo è solo il momento in cui lo facciamo: se impediamo la defunta al clic successivo, quando l'utente effettua la sua scelta, l'evento onchange non si attiva.
In questo modo otteniamo un bel menu a discesa, senza sfarfallio, senza abbattere IE - funziona solo ... beh almeno in IE10 e versioni successive, e ultime versioni di tutti gli altri principali browser.
<p>Which is the most annoing browser of them all:</p>
<select id="sel" size = "1">
<option></option>
<option>IE 9</option>
<option>IE 10</option>
<option>Edge</option>
<option>Firefox</option>
<option>Chrome</option>
<option>Opera</option>
</select>
Ecco il violino: https://jsfiddle.net/88cxzhom/27/
Poche altre cose da notare: 1) Il posizionamento assoluto e l'impostazione z-index è utile per evitare di spostare altri elementi quando sono visualizzate le opzioni. 2) Usa la proprietà 'currentTarget' - questo sarà l'elemento di selezione su tutti i browser. Mentre 'target' sarà selezionato in IE, il resto ti permetterà di lavorare con l'opzione.
Spero che questo aiuti qualcuno.
fonte
2015-11-20 20:03:02
Grazie! Sfortunatamente, l'attributo size non è quello che stavo cercando perché rende visibili tutte le opzioni x. Stavo cercando di evitare javascript per un problema così piccolo ma fastidioso. Tuttavia, sembra che non abbia altra scelta. – medowlock
sì. Personalmente non l'ho mai visto come un problema, dato che tutti i '' funzionano in questo modo sul web. Ma se è necessario per i tuoi scopi, temo che dovrai costruirti da solo con JavaScript. –
Non capirò mai come i produttori di browser non stiano sviluppando WebComponents e quant'altro e non riescano a trovare qualcosa di semplice come questo. qualche sviluppatore ha mai detto 'hmm mi piacerebbe limitare il numero di elementi mostrati nel mio menu a discesa di selezione ... quella brutta cosa da elenco andrà benissimo!' – Petrov