Discussion:
Comportamiento extraño de un combo en Flash 8 Professional
(demasiado antiguo para responder)
Federico Ezequiel
2008-01-18 13:52:40 UTC
Permalink
Estimados foreros:

Me comunico con ustedes para expresarles otra rareza de la que soy víctima.
No se si estas cosas me ocurren solamente a mi.
La cuestión es que tengo un combo en mi aplicación que cargo con la
instrucción:

_root.combo1.addItem(i,i);

dentro de un bucle for.

Con el siguiente código controlo el evento clic sobre un elemento del combo.

selectMenu = new Object();
selectMenu.change = function(evento)
{
_root.funcion1();
}
_root.combo1.addEventListener("change", selectMenu);



Todo funciona casi perfecto, el único problema, y muy raro por cierto, es
que el evento clic no se ejecuta para el primer elemento del combo, es
decir, para el elemento "1".
Ese elemento está siempre remarcado con fondo verde. El evento clic funciona
a la perfección para todos los otros elementos, pero no para este.
Lo definitivamente desconcertante es que, a veces, el elemento que
selecciono queda con fondo verde y, en esos casos muy raros, el evento clic
si se ejecuta bien sobre el primer elemento.
En definitiva, tengo un combo que no funciona si selecciono el 1 y si
funciona para los demás elementos de la lista.
Alguien tiene idea de para dónde tengo que salir corriendo??
Muchas gracias.



Federico
Federico Ezequiel
2008-01-18 14:00:24 UTC
Permalink
Listeros:

Encontré el problema, si logro resolverlo les digo como hice.
Post by Federico Ezequiel
Me comunico con ustedes para expresarles otra rareza de la que soy
víctima. No se si estas cosas me ocurren solamente a mi.
La cuestión es que tengo un combo en mi aplicación que cargo con la
_root.combo1.addItem(i,i);
dentro de un bucle for.
Con el siguiente código controlo el evento clic sobre un elemento del combo.
selectMenu = new Object();
selectMenu.change = function(evento)
{
_root.funcion1();
}
_root.combo1.addEventListener("change", selectMenu);
Todo funciona casi perfecto, el único problema, y muy raro por cierto, es
que el evento clic no se ejecuta para el primer elemento del combo, es
decir, para el elemento "1".
Ese elemento está siempre remarcado con fondo verde. El evento clic
funciona a la perfección para todos los otros elementos, pero no para
este.
Lo definitivamente desconcertante es que, a veces, el elemento que
selecciono queda con fondo verde y, en esos casos muy raros, el evento
clic si se ejecuta bien sobre el primer elemento.
En definitiva, tengo un combo que no funciona si selecciono el 1 y si
funciona para los demás elementos de la lista.
Alguien tiene idea de para dónde tengo que salir corriendo??
Muchas gracias.
Federico
Federico Ezequiel
2008-01-18 15:32:21 UTC
Permalink
Listeros:

El problema era el siguiente: el combo se carga y toma el enfoque el primer
elemento. Por lo tanto, si hago clic sobre el primer elemento, el evento no
se ejecuta, lo cual es lógico porque estoy seleccionando un elemento que ya
está seleccionado. El asunto es que yo usaba la propiedad text del combo y
lo fijaba en determinado valor y luego agregaba otro valor al combo mediante
addItem. Por lo tanto, el combo dice, por ejemplo, 5, pero el enfoque está
en 1 de manera que si selecciono 1, no se ejecuta el evento. La solución es
la sentencia selectedIndex. Con esto, puedo colocar el texto que quiero en
el combo mediante la propiedad text y luego hacer combo.selectedIndex =
variablenumerica, recordando que el primer elemento del combo es el 0. Así
cambio el enfoque del combo y coincide lo que muestra el combo con el
elemento que tiene el enfoque.
Espero haberme expresado bien.
Saludos.


Federico
Post by Federico Ezequiel
Encontré el problema, si logro resolverlo les digo como hice.
Post by Federico Ezequiel
Me comunico con ustedes para expresarles otra rareza de la que soy
víctima. No se si estas cosas me ocurren solamente a mi.
La cuestión es que tengo un combo en mi aplicación que cargo con la
_root.combo1.addItem(i,i);
dentro de un bucle for.
Con el siguiente código controlo el evento clic sobre un elemento del combo.
selectMenu = new Object();
selectMenu.change = function(evento)
{
_root.funcion1();
}
_root.combo1.addEventListener("change", selectMenu);
Todo funciona casi perfecto, el único problema, y muy raro por cierto, es
que el evento clic no se ejecuta para el primer elemento del combo, es
decir, para el elemento "1".
Ese elemento está siempre remarcado con fondo verde. El evento clic
funciona a la perfección para todos los otros elementos, pero no para
este.
Lo definitivamente desconcertante es que, a veces, el elemento que
selecciono queda con fondo verde y, en esos casos muy raros, el evento
clic si se ejecuta bien sobre el primer elemento.
En definitiva, tengo un combo que no funciona si selecciono el 1 y si
funciona para los demás elementos de la lista.
Alguien tiene idea de para dónde tengo que salir corriendo??
Muchas gracias.
Federico
Loading...