En realidad, en este caso el evento más indicado es el
onmousedown. El
onclick se ejecuta una vez que ya se abrió la lista, en cambio el
onmousedown lo hace antes. Podés hacer algo como esto:
Código HTML:
<select id="lista">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<script type="text/javascript">
var lista = document.getElementById('lista');
lista.onmousedown = function() {
alert('hola');
}
</script>
Saludos