簡體   English   中英

回應關鍵新聞javascript

[英]respond to key press javascript

如果這是基本的,我很抱歉,但我搜索過,發現沒有任何效果。

我想加載一個網頁。 加載該頁面時,它會顯示圖像。 我想讓頁面自動開始監聽右箭頭按鍵。 當發生這種情況時,我的腳本中的一個函數將改變圖像(我通過使用單擊時響應的按鈕來完成該部分)。

這是我無法開始工作的關鍵新聞的傾聽和反應。 請注意,我正在使用Safari,但我想盡可能在​​Firefox或IE中使用它。

請幫助謝謝。

更新回應評論:這是我嘗試過的,雖然我簡化了另一部分以縮短它 - 現在它只是將結果寫入div:

<html>
<head>
<script language="Javascript">
function reactKey(evt) {
   if(evt.keyCode==40) {
      document.getElementById('output').innerHTML='it worked';
   }
}
</script>
</head>
<body onLoad="document.onkeypress = reactKey();">
<div id="output"></div>
</body>
</html>

如果您使用的是jquery,則可以執行以下操作:

$(document).keydown(function(e){
    if (e.keyCode == 39) { 
       alert( "right arrow pressed" );
       return false;
    }
});

最簡單的方法是使用眾多熱鍵庫中的一個,如https://github.com/jeresig/jquery.hotkeyshttps://github.com/marquete/kibo

編輯:嘗試這樣的事情(在你已經加載了Kibo的javascript之后)。

在body語句中,添加onload處理程序: <body onload="setuphandler">

然后添加這樣的東西(取自Kibo頁面):

<script type="text/javascript">
var k = new Kibo();
function setuphandler()
{
  k.down(['up', 'down'], function() {
  alert("Keypress");
  console.log('up or down arrow key pressed');
});
}
</script>
document.onkeydown= function(key){ reactKey(key); }

function reactKey(evt) {
   if(evt.keyCode== 40) {
      alert('worked');
   }
}

http://jsfiddle.net/dY9bT/1/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM