2011-06-29 51 views
0

我有一個html/flex應用程序加載在iframe中,並且wmode設置爲「不透明」。我將'mousemove'監聽器附加到flex應用程序文檔和父文檔中。一旦我在iframe的flex部分打開鼠標並移動鼠標,我可以看到iframe中的日誌。但是,當我在父項中移動鼠標時,我沒有看到來自父項的日誌。但是,如果我對iframe的html部分感興趣,我可以從iframe和parent都看到日誌。Firefox flash wmode = opaque iframe問題

是否有解決此問題的方法?

在Firefox 4/5中報告了相同類型的錯誤,該錯誤會中斷HTML部分。訪問 https://bugzilla.mozilla.org/show_bug.cgi?id=625313

有關如何解決此問題的任何想法?

回答

0

聽起來好像flash窗口捕捉拖放場景中典型的鼠標事件。如果Flash代碼試圖跟蹤拖動,那麼它需要做這個捕獲。我想知道是否有一種方法可以將Flash應用程序/對象配置爲僅獲得鼠標點擊而不是鼠標拖動事件,因此當鼠標移動到鼠標時,正常的鼠標事件將流向鼠標下的任何對象(事件發生在flash對象)。我對Flash庫一無所知,但在Google搜索中,我確實看到它具有.startDrag()和.stopDrag()。這聽起來像你需要確保startDrag()不會被鼠標調用。

+0

不,我甚至沒有調用startDrag()方法。由於窗口模式設置爲不透明,JavaScript還會收到mousedown事件,該事件通過mousemove事件顯示光標後面的圖像。我猜想iframe不斷收到mousemove事件的原因是因爲鼠標被flash捕獲。我嘗試手動調度mouseout和mouseleave事件,但沒有運氣。 – Nish

+0

閃光燈環境中的某些東西是在鼠標下方捕捉鼠標。 – jfriend00

+0

是的,我也這麼認爲。我試過event.preventDefault()方法,但沒有運氣......啊 – Nish