2010-04-17 126 views
1

我正在製作一款遊戲,涉及到所有遊戲,按鍵。只有左右箭頭和空格鍵。他們工作,但瀏覽器被預先設置爲向左或向右滾動,或者跳到這些鍵上。有什麼方法可以解除代碼中的這些鍵?謝謝。取消綁定按鍵

回答

1

您應該能夠通過按下鍵後返回false來阻止默認瀏覽器行爲。然而,取決於你是如何攔截關鍵事件,它似乎工作不同在不同的瀏覽器,甚至不同類型的鍵(阿爾法vs'命令'鍵)

jquery preventDefault和stopPropagation也可能工作, 評論在本文檔的底部給很多基礎的信息很好的提示 http://api.jquery.com/event.preventDefault/

那裏我把這個代碼的小位在一起,似乎在這兩個Opera和Firefox

移動滾動條停止空格鍵和下/上箭頭

嘗試此代碼(jQuery需要)在Firefox中啓用螢火蟲控制檯

$(document).bind('keydown, keypress', function(event) { 
    console.debug(event.keyCode + " - " + event.which); 
    // event.preventDefault(); 
    return false; 
}); 
+0

我發現這個作品在每一個瀏覽器我試圖除了IE: window.onkeydown =函數(e)中{ \t如果(e.keyCode == 32 || e.keyCode == 37 || e.keyCode == 39){ \t \t return false; \t} } 有沒有人知道在IE中做到這一點的方法?即使它只是IE,我也知道解決這個問題的方法。我只需要一種方法在Internet Explorer中執行相同的操作。 – Doug 2010-04-18 02:26:07

+0

這篇文章將其分解 http://www.quirksmode.org/js/keys.html 查看底部 的「測試」表單並查看源代碼,以查看它們如何處理關鍵事件 - 似乎適用於IE8 ,Firefox和Chrome – house9 2010-04-19 20:53:46