2011-12-16 38 views
-1

我寫了一個小小的Javascript遊戲,在Google Chrome和Opera上運行良好,但Firefox中有一個奇怪的錯誤(?)。看起來像輸入/空間重置變量或我不知道。Firefox按鍵重置變量?

這裏是遊戲本身: http://borcili.fw.hu/game/index.html

在啓動球,打破在Firefox中一些磚塊,如果你按回車鍵或空格球停(設置啓動布爾爲false)並重新啓動球后磚塊重置。順便說一下,如果您檢查代碼,您可以看到沒有任何關於輸入和空格鍵的聲明。即使我完全刪除了任何keyboar操作,這個bug仍然存在。任何解決方案「解決」這個或任何人都知道爲什麼會發生這種情況?我無法在2天內知道,即使發生了什麼......變量重置或代碼中的回滾。

我唯一的想法是這樣的:

if (started == true) 
{ 
    ballx += ballmovex; 
    bally += ballmovey; 
} 

//return to the middle of the bat 
else 
    ballx = batx + (batw[batc]/2) - 1; 

的「開始」布爾決定是否球應該移動或移動回蝙蝠的中間。在Firefox中,如果你按下輸入鍵或空格鍵,球就會一直移動到球棒的中間位置。但輸入和空間應該做任何事情,但看起來像重置此布爾值。

+0

我明白爲什麼我必須在這裏輸入正確的代碼,但我不確定這是Firefox中代碼或「功能」的錯誤。而且我仍然不知道代碼的哪一部分應該修復,因爲沒有任何代碼用於輸入和空格鍵盤,但是仍然會執行某些操作,這就是問題所在......它不應該執行任何操作: ( – Gaboros 2011-12-16 20:57:33

+1

@Gaboros,你說'重置一些變量',也許這意味着你對發生了什麼有一個大概的瞭解,爲什麼不告訴我們這些變量是什麼,併發佈設置或使用它們的代碼? – 2011-12-16 20:58:34

回答

1

當單擊其中一個按鈕選擇難度時,您將它們全部設置爲visibility:hidden。但隱藏的能見度並不排除有焦點的東西,顯然,特別是有問題的按鈕仍然有重點。點擊空格或進入會觸發按鈕的點擊處理程序,它會執行各種操作,包括重置遊戲板。

您可以通過在隱藏按鈕之後單擊畫布外的某個位置來測試它。這將把焦點移出按鈕,然後空間和進入將停止做任何奇怪的事情。點擊畫布不會改變焦點,因爲腳本阻止了該事件的默認操作。