Foros del Web » Programando para Internet » Javascript »

¿Como ejecutar funcion antes de mostrar los option?

Estas en el tema de ¿Como ejecutar funcion antes de mostrar los option? en el foro de Javascript en Foros del Web. Existe alguna forma que ejecutar alguna funcion Javascript entre que se hacer el click en la flechita del select pero antes que se muestren las ...
  #1 (permalink)  
Antiguo 26/11/2014, 19:46
 
Fecha de Ingreso: octubre-2006
Mensajes: 227
Antigüedad: 18 años
Puntos: 3
Pregunta ¿Como ejecutar funcion antes de mostrar los option?

Existe alguna forma que ejecutar alguna funcion Javascript entre que se hacer el click en la flechita del select pero antes que se muestren las opciones?
  #2 (permalink)  
Antiguo 26/11/2014, 20:47
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: ¿Como ejecutar funcion antes de mostrar los option?

¿Podrías ser más explícito?
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 27/11/2014, 09:19
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 11 años, 2 meses
Puntos: 578
Respuesta: ¿Como ejecutar funcion antes de mostrar los option?

Pues no sé si antes o después, pero para ello existe el evento onclick.
  #4 (permalink)  
Antiguo 01/12/2014, 19:36
 
Fecha de Ingreso: octubre-2006
Mensajes: 227
Antigüedad: 18 años
Puntos: 3
Respuesta: ¿Como ejecutar funcion antes de mostrar los option?

Cuando uno tiene un select option. Uno hace click y de inmediato se muestran las opciones que estan contenidas dentro del select.

Entonces ha mi me gustaria saber si es posible que despues de hacer click, ejecutar una funcion, y despues de que se ejecute esa funcion, se muestren las opciones que estan dentro del select.
  #5 (permalink)  
Antiguo 01/12/2014, 19:51
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: ¿Como ejecutar funcion antes de mostrar los option?

Claro, con el evento click.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #6 (permalink)  
Antiguo 02/12/2014, 06:25
Avatar de GeekGirl  
Fecha de Ingreso: julio-2014
Mensajes: 423
Antigüedad: 10 años, 4 meses
Puntos: 44
Respuesta: ¿Como ejecutar funcion antes de mostrar los option?

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
  #7 (permalink)  
Antiguo 02/12/2014, 07:03
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 11 años, 2 meses
Puntos: 578
Respuesta: ¿Como ejecutar funcion antes de mostrar los option?

Que yo sepa, no hay ningún evento estándar que se asocie a dicha acción. Los resultados podrían variar dependiendo del navegador que se utilice.
  #8 (permalink)  
Antiguo 02/12/2014, 13:36
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: ¿Como ejecutar funcion antes de mostrar los option?

Si lo vemos desde ese lado, también iría bien con el evento mouseenter, pero, al igual que con el evento mousedown, ¿qué pasaría si el usuario posa sin querer el puntero del mouse sobre el elemento pero no tiene la intención de que se ejecute la función en cuestión?

Aunque la acción generada por el evento click se ejecute luego de la aparición de la lista, al menos existe la seguridad de que el usuario quiso hacerlo y no solo posó el mouse sobre el elemento por mera casualidad.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #9 (permalink)  
Antiguo 03/12/2014, 05:18
 
Fecha de Ingreso: octubre-2006
Mensajes: 227
Antigüedad: 18 años
Puntos: 3
¿Evento para mostrar listado de opciones?

El select actua distintos a los demas a los elementos. En los demas elementos se ejecuta el click cuando suelto el boton del raton, en el caso del elemento select, las opciones se muestran antes de que yo suelte el boton del raton. Como puedo "obligar" a que se muestren las opciones solo cuando hago click (presionando y soltando-no solo presionando)
  #10 (permalink)  
Antiguo 03/12/2014, 08:31
Avatar de GeekGirl  
Fecha de Ingreso: julio-2014
Mensajes: 423
Antigüedad: 10 años, 4 meses
Puntos: 44
Respuesta: ¿Como ejecutar funcion antes de mostrar los option?

Cita:
Iniciado por Alexis88 Ver Mensaje
Si lo vemos desde ese lado, también iría bien con el evento mouseenter, pero, al igual que con el evento mousedown, ¿qué pasaría si el usuario posa sin querer el puntero del mouse sobre el elemento pero no tiene la intención de que se ejecute la función en cuestión?

Aunque la acción generada por el evento click se ejecute luego de la aparición de la lista, al menos existe la seguridad de que el usuario quiso hacerlo y no solo posó el mouse sobre el elemento por mera casualidad.

Saludos
Disculpame por el onmousedown se ejecuta al hacer click y antes de soltar el mismo, no cuando pasás el mouse por arriba. Por ende me pareció adecuado pq al soltar el click se despliega el select.

Si el usuario empezó el click, no va a ser por error.

Saludos
  #11 (permalink)  
Antiguo 03/12/2014, 13:23
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: ¿Como ejecutar funcion antes de mostrar los option?

En realidad ―y como bien lo dice el autor de este hilo―, la lista se despliega antes de soltar el botón del mouse, por eso veo complicado el realizar lo que nuestro amigo que come con ansias y en exceso desea hacer, al menos de esta forma. Por cierto, corrijo lo dicho, el evento mousedown se ejecuta al momento de pulsar el botón del mouse, pero eso de nada valdrá en esta ocasión.

Estimado Gloton, creo que vas a tener que replantear lo que quieres hacer.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #12 (permalink)  
Antiguo 03/12/2014, 14:15
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 11 años, 2 meses
Puntos: 578
Respuesta: ¿Como ejecutar funcion antes de mostrar los option?

Si se trata de un requisito fundamental para tu aplicación ─lo dudo mucho─, puedes crear tu propio dropdown list con HTML y CSS, ─lo cual no es muy difícil de hacer─, y luego añadirle todas las funcionalidades que te plazcan.
  #13 (permalink)  
Antiguo 03/12/2014, 16:11
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 5 meses
Puntos: 1012
Respuesta: ¿Como ejecutar funcion antes de mostrar los option?

bueno, es algo más complejo que eso
http://www.forosdelweb.com/f179/apor...ml#post4630770
aquí en funcionamiento
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #14 (permalink)  
Antiguo 03/12/2014, 17:41
 
Fecha de Ingreso: octubre-2006
Mensajes: 227
Antigüedad: 18 años
Puntos: 3
Respuesta: ¿Como ejecutar funcion antes de mostrar los option?

Creo que doy el tema por solucionado, si bien no pude (por ahora) hacer esto, sirve para darme cuenta con las respuesta de estos experimentados programadores de que tendre que reformularme el problema.

Igualmente algunos enlaces y funciones me sirvieron para solucionar otras partes del trabajo que estoy haciendo. Asi que muchas gracias por las respuestas.

Etiquetas: funcion, jquery, listado, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:55.