Haz clic dos veces para expandir DropDownList en ASP.NET

votos
2

Heredé un proyecto de ASP.NET 2.0 y una de las cosas que noté es que el usuario tiene que hacer clic dropdownlistdos veces para expandirlo: ¿por qué?

Secuencia de eventos

  1. El primer clic con da el foco de control y el segundo lo expandirá.
  2. La aplicación usa páginas maestras / contenido y está habilitada para Ajax.

Parece que esto no ocurre en IE6, pero sucede en IE7.

Publicado el 09/12/2008 a las 17:39
fuente por usuario
En otros idiomas...                            


5 respuestas

votos
1

Lo encontré y lo ordené (por ahora).

El problema era causado por una función de Javascript insertada por un control de usuario y que agregaba estilo a DropDownLists. Por qué no se hizo esto en CSS No tengo idea (pero lo será en breve) pero al comentar la siguiente función resolvió mi problema:

    function inputOnFocus(objInput)
    {
        objInput.style.backgroundColor = sHighLightBgColor;
        objInput.style.border = sBorderHighlight;

        //objInput.className = "inputOnFocus";
        sIDWithFocus = objInput.id;
    }

No estoy muy seguro de cómo / por qué esto se estaba aplicando a algunos DDL y no a otros, pero en este momento (con una demostración del cliente próximamente), realmente no me importa, investigaré eso cuando tenga la oportunidad.

Gracias @LFSR Consulting, @Scott Evernden y @kogus por su aporte.

Respondida el 10/12/2008 a las 12:53
fuente por usuario

votos
0

Yo sé que lo pongo en un viejo hilo; Sin embargo, me gustaría compartir mi granito de arena en esta, ya que puede ayudar a cualquier persona en el futuro.

Yo estaba trabajando recientemente en una forma rápida y quería poner de relieve todos los campos que un usuario podría ir a la amarilla, y, obviamente, ir de nuevo a blanco cuando se pierde el foco.

Sin entrar en código, ya no estoy trabajando con ASP.NET, sólo la parte Javascript ... lo que hice para remediar esto era crear otro evento para onMouseDown. Con sólo tiene la sección onfocus que daría lugar a que yo tenga que hacer doble clic en un cuadro desplegable. Una vez para ajustar el foco, otro para hacer clic y aparecen los elementos. Mediante la adición de la función onMouseDown, que luego se deja mis cambios de color que tienen lugar cuando se hace clic, así como una pestaña u otra forma de cambio de enfoque.

Por supuesto, no hay necesidad de tener una contrapartida, ya que el onBlur se encargó de ello (la contraparte de onfocus).

Respondida el 29/03/2010 a las 21:13
fuente por usuario

votos
0

Si está utilizando IE7 y está utilizando el evento onFocus para esos menús desplegables, eche un vistazo a esto:

http://forums.asp.net/p/1049119/1479078.aspx#1479078

De lo contrario, podría sugerir que eche un vistazo a:

  • ¿Se está realizando una llamada al servidor enFocus, en la que IsPostBack no se gestiona correctamente en Page_Load?
  • dibuja un espacio en blanco para cualquier otra idea ...

    ¿Puedes lanzar un código para que podamos echarle un vistazo?

  • Respondida el 09/12/2008 a las 18:17
    fuente por usuario

    votos
    0

    No sé si esta es la mejor solución y no la he probado ... ¿pero qué hay de setfocus en onload () para el control en cuestión?

    Respondida el 09/12/2008 a las 18:02
    fuente por usuario

    votos
    -1

    ¿Los datos desplegables se están llenando en el evento desplegable? Si es así, una solución fácil sería establecer el estado DroppedDown en True al final de la carga de datos.

    Respondida el 09/12/2008 a las 18:19
    fuente por usuario

    Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more