2013-03-06 163 views
0

我有我自己製作的小型自制JSFiddle網站,主要是爲了好玩,迄今爲止它工作得很好,但我專門在Chrome中開發。我想提到這一點,因爲我認爲我的問題可能(希望)能夠通過更改我的小沙箱來解決,但這是我的主要問題:未在Firefox內部的iframe中觸發的重要事件

在我的沙箱中,我開發了一個小型Snake實現,它依賴於keydown事件用於控制玩家。在Chrome中一切正常,我對它很滿意,但在Firefox中,我無法控制播放器。你可以看到我的設置位置:

http://willseph.com/sandbox/?id=ORWx7miv

球員應該使用箭頭鍵或WASD來控制兩種,但他們似乎並不在Firefox工作。我在another post中看到,應該將tabindex="0"屬性添加到應該獲得焦點的元素(儘管我不確定哪個元素會是焦點,但我嘗試將它放在父元素中的呈現iframe的元素中,iframe元素本身和iframe中的容器div)。

任何人都可以對此有所瞭解嗎?我很想弄清楚爲什麼會發生這種情況。

更新:

我只是上載的jsfiddle相同的代碼和我有同樣的問題。鍵盤控制的Chrome,但沒有Firefox的工作:

http://jsfiddle.net/Ud876/1/embedded/result/

+1

它不適合我,我正在使用鉻.. – Daedalus 2013-03-06 02:34:18

+0

這真的很奇怪,它對我來說工作得很好。加載後,您在右下角窗口中點擊新遊戲按鈕,對吧? – 2013-03-06 05:12:25

+0

沒有按鈕,只有當我通過打開檢查器縮小窗口中打開的可用空間時纔會出現該按鈕。 – Daedalus 2013-03-06 05:17:10

回答

2

你的問題,我與螢火蟲的測試,似乎是在這裏:

$(window).keydown(function() { 
    //     ^--- no event object passed to function 
    game.onKeyDown(event, game); 
}); 

看到活動的固定小提琴,here

+0

我不知道更令人驚訝的是,我錯過了這個事實,或者以某種方式管理我的Chrome。無論如何,它是完全固定的。謝謝! – 2013-03-06 09:42:21