2010-09-10 3 views
-1

J'ai une page Web dans laquelle un fichier SWF est incorporé. J'ai un problème avec l'accent. Procédure de reproduction: 1) Cliquez sur un champ de texte HTML qui se trouve dans un Iframe. 2) Cliquez sur un champ Flex. 3) Commencez à taper du texte.Flex Textfield ne prend pas en charge le focus lorsque le curseur est dans le champ de texte de l'iframe

Résultat attendu est le texte entré devrait aller dans le champ Flex TextInput mais le résultat réel est il va dans le champ de texte HTML.

Ceci est le bogue qui a été classé mais fermé sans aucune résolution. La solution de contournement suggéré ne fonctionne pas. (bugs.adobe.com/jira/browse/SDK-12377)

Cela se produit uniquement dans IE 6.0 et IE 7.0. Voici l'exemple en direct. http://drumbeatinsight.com/examples/htmlcomponent/iframe/HTMLFrameInApplication.html

Toute suggestion ou solution de contournement pour résoudre ce problème est requise.

Répondre

0

Votre navigateur maintient la mise au point au lieu de la renvoyer au lecteur flash. Je suis tombé sur ce problème en essayant d '«intégrer» du contenu html dans mon application flexible ... accompli en flottant html iframe au-dessus du lecteur flash.

Je dois cacher et restaurer l'iframe si je veux interagir avec flex car l'iframe doit être sur le lecteur flash, mais tout cela est facile. Je trouverais, même si je me suis caché l'iframe, le lecteur flash n'a jamais eu le focus du clavier. Vous devez indiquer au navigateur de remettre le focus au clavier sur le lecteur flash. Maintenant, il n'y a pas vraiment de bonne façon de déterminer si vous devez demander au navigateur de remettre le focus au clavier, je finis par exécuter ce javascript à chaque souris, plutôt inefficace, mais c'était la seule façon de l'utilisateur a cliqué sur le contenu du lecteur Flash, que le navigateur a remis au clavier.

Exécutez une méthode javascript qui recherche le contenu incorporé par son nom et l'appel focus().

Fondamentalement - document.getElementById ('flexEmbedID'). Focus();

Utilisez l'interface externe pour appeler cela sur stage.mouseDown(). Beaucoup de frais généraux car il s'exécute beaucoup, mais il va résoudre votre problème.

Questions connexes