2012-01-17 50 views
0

我有一個窗體中有幾個按鈕的div。當其中一個按鈕被點擊時,該div被隱藏並顯示一個新的div。在我的情況下,我也有按鈕點擊觸發ajax調用一些數據來填充新顯示的div。加載的div是一個捕獲關鍵事件以允許玩家玩的遊戲。Windows Firefox的KeyEvent目標仍然隱藏在按鈕上

在Firefox在Windows上,我注意到,所有的按鍵事件被定位於被點擊第一個div的是,而不是在主體元素的按鈕。這意味着enter鍵會重新點擊該按鈕(重新啓動遊戲)。如果我在切換div時禁用按鈕,則關鍵事件根本不會被觸發(使其無法播放)。

什麼將一個很好的策略是應對這種情況呢?

回答

0

不知道這是否是一個答案,以我自己的問題或解決方法,但它看起來像我可以打電話:

document.activeElement.blur() 

我已經添加到了我的按鈕的onclick功能,這似乎解決了問題。

+1

我不知道爲什麼你沒有得到的事件,而不因爲關鍵事件應該冒泡模糊。然而,將重點放在某些不以意想不到的方式對關鍵事件做出反應的元素上,似乎是解決您的問題的好方法。 – 2012-01-17 19:39:38