2015-10-28 18 views
0

結合如何綁定鍵W至一個按鈕在網頁上關鍵的HTML

我嘗試使用.keypress但它似乎並沒有工作。

下面的代碼:

<html lang="en"> 
<head> 
    <link rel="stylesheet" type="text/css" href="css/style.css" /> 
</head> 
<body> 
    <div class="d-pad"> 
     <div id="d-up" class="button d up"></div> 
     <div id="d-right" class="button d right"></div> 
     <div id="d-down" class="button d down"></div> 
     <div id="d-left" class="button d left"></div> 
    </div> 

<script> 
$(document).keypress(function(e){      // keybiding 
    if (e.which == 87){ 
     $("#d-up").click(function(){alert('UP')}); 
    } 
}); 
</script>  
</body> 
</html> 

我嘗試的關鍵綁定W至向上按鈕用id = d-起來,每當W是按會出現一個警告,指出UP。這似乎並不奏效。我在這裏做錯了嗎?

謝謝

+0

你的代碼片段在做什麼? –

回答

1

你沒有說:

每當W被按下時,顯示一個警告

你說:

每次按下w^

,設置的東西,如果一個沒有內容的div是點擊 w ith鼠標,顯示一個提醒

擺脫點擊處理程序。

$(document).keypress(function(e){ 
 
    if (e.which == 87){ 
 
     document.body.style.backgroundColor = "black"; 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

注意,在這個演示:

  • 你需要關注的結果來看效果
  • 我切換到使用背景色,因爲alert是沙箱in stackoverflow snippets
  • w不一樣W
-2
$(document).bind("keydown",function(e) { 
     var originator = e.keyCode || e.which; 
     if(originator == 87) 
     alert('UP'); 
    }); 
0

您正在創建可能永遠不會出現的條件的事件。試試這個:

$(document).keypress(function(e){ 
    if(e.shiftKey && e.keyCode === 87){ // capital W 
    alert('UP'); 
    } 
});