[英]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.hotkeys或https://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');
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.