2010-09-10 75 views
-1

我有一個嵌入了SWF文件的網頁。我有一個焦點問題。當光標位於iframe的文本字段時,Flex Textfield不會獲得焦點

重現步驟: 1)單擊Iframe內的HTML文本字段 2)單擊Flex字段。 3)開始鍵入一些文字。

預期結果是輸入的文本應該放在Flex TextInput字段中,但實際的結果是放入HTML文本字段中。

這是已提交但未經任何解決方法關閉的錯誤。建議的解決方法無效。 (bugs.adobe.com/jira/browse/SDK-12377)

這隻發生在IE 6.0和IE 7.0中。以下是現場示例。 http://drumbeatinsight.com/examples/htmlcomponent/iframe/HTMLFrameInApplication.html

任何要求解決此問題的建議或解決方法。

回答

0

您的瀏覽器正在維護焦點,而不是將其返回給Flash播放器。我嘗試在我的Flex應用程序中嵌入HTML內容時遇到了此問題...通過在Flash播放器上方浮動html iframe完成。

如果我想與flex進行交互,我必須隱藏和恢復iframe,因爲iframe需要位於Flash播放器之上,但這一切都很簡單。我會發現,即使我隱藏了iframe,flash播放器也永遠不會讓鍵盤焦點回來。您需要告訴瀏覽器將鍵盤焦點返回給Flash播放器。

現在沒有真正的好方法來確定您是否需要指示瀏覽器重新設置鍵盤焦點,我最終在每個鼠標上執行此JavaScript,效率相當低,但它是唯一一種可以在任何時候用戶點擊了Flash播放器的內容,即瀏覽器重新獲得了鍵盤焦點。

執行通過名稱查找嵌入內容並調用focus()的javascript方法。

基本上 - document.getElementById('flexEmbedID')。focus();

使用外部接口調用stage.mouseDown()。它執行很多開銷,但它會解決你的問題。

相關問題