2011-03-04 27 views
0

大家好,我希望得到一些見解。我研究了臭名昭着的'Flash hogging keyboard focus'問題,但我相信我們的問題可能涉及其他人已經遇到的解決方法。我已經嘗試了我在stackoverflow和其他網站上找到的各種解決方案,我在下面進行了總結。嵌入式元素(閃存)豬鼠標滾輪滾動時隱時現,並再次顯示

我們有一個Web應用程序和特定接口的負載幾個div的,我們正在使用的「標籤」。當用戶點擊其中一個選項卡時,我們隱藏當前的div並取消隱藏新的選項。我們的主選項卡(在頁面加載時加載)嵌入了Scribd中的文檔,該文檔作爲Flash影片加載。當用戶點擊Flash電影時,他們像正常一樣使用鼠標/鍵盤進行滾動,並且當他們點擊文檔外的控件時,按預期方式返回。

當他們瀏覽到另一個選項卡,然後返回到原來的標籤,然後單擊嵌入式閃存內它導航,嵌入式閃存搶斷鼠標滾動的控制,不會讓他走。用戶可以在這個文件中點擊並用箭頭鍵滾動,然後單擊出該文檔,並滾動使用箭頭鍵的父窗口,但鼠標的滾動功能仍然與嵌入式Flash影片。唯一的補救措施是硬刷新頁面。

什麼,當用戶點擊一個新的標籤我已經試過:

saved_element = $('[name="flash_embed_object_name"]').remove();

如果新的標籤是「家」: 如果舊的標籤是「家」,從DOM移除嵌入元素加元回DOM:

$('#parent_div').append(saved_element);

這不工作 - 我可以證實,該元素從DOM刪除,但是當它返回到DOM它會佔用鼠標滾動當像以前一樣點擊時。 我也嘗試了類似的解決方案,但不是刪除元素我叫

$('[name="flash_embed_object_name"]').blur();$('#clicked_tab_div').focus();

但這並沒有幫助。有沒有人有任何其他想法?我的下一個想法是,我不知何故需要停止播放Flash電影,然後它會將焦點返回到頁面。

任何輸入,非常感謝。謝謝!

+0

能否請你解釋一下解決方案嗎?我有一個表和嵌入式pdf從jquery ajax調用中檢索。鼠標焦點在PDF上,我無法滾動表格。 – user602599 2011-04-01 18:11:52

+0

我相信解決方案涉及到我們將嵌入式元素留在那裏,但操縱其位置以使其離開可視屏幕。當包含元素被隱藏並再次顯示時,會導致一些問題。不幸的是,我相信你的情況有點不同。 – 2011-04-05 04:12:51

回答

0

該決議是不是隱藏包含嵌入式閃存股利 - 這樣做時,嵌入的元素將「刷新」時再次顯示。我們改變了元素的位置,基本上將它隱藏起來,但沒有隱藏它。