2010-12-03 10 views
0

dans echo 3 J'ai un problème de mise au point sur un champ de texte spécifique dans un nouvel écran. Le problème se produit lorsqu'un utilisateur maintient sa souris sur le bouton de référence sur l'écran précédent, par opposition à un simple clic.Echo3 Framework - réglage du problème élimine le focus dans la zone de texte lorsque l'écran est construit

il ressemble à ceci:

public void display screen { 
    build window 
    if window isnt null{ 
     build screen 
     if screen.textfield isnt null{ 
      Thread t { 
       thread sleep 10000 
       screen.textfield.setFocus 
      } 

     } 

    } 

} 

dans le pseudo-dessus du foyer serait réglé si l'utilisateur utilisateur a occupé le bouton de référence vers le bas sur l'écran avant pendant moins de 10 secondes, dans ce cas, la mise au point ne serait pas défini avant la fin du temps de thread restant. ce n'est pas bon parce que ça prend trop de temps; et le délai d'attente inférieur n'assure pas que la mise au point sera définie car l'utilisateur peut maintenir la touche plus longtemps. J'ai essayé de lancer plusieurs threads et d'utiliser des minuteurs pour mettre l'accent mais cela n'a pas fonctionné ... Y a-t-il quelque chose qui manque dans la construction interne du code parce qu'il semble que tout soit construit malgré le fait que l'utilisateur n'a pas laissé aller le bouton.

Si c'est le cas, existe-t-il un moyen de le faire à la sortie?

Merci

Répondre

0

Trouvé une solution. Le problème était avec l'utilisation de IE6. Je suppose que l'ordre dans lequel il se construit est différent de celui d'IE7 +.