我很抱歉,如果这是基本的,但我搜索过,发现没有任何效果。
我想加载一个网页。加载该页面时,它会显示图像。我想让页面自动开始监听右箭头按键。当发生这种情况时,我的脚本中的一个函数将改变图像(我通过使用单击时响应的按钮来完成该部分。)
这是我无法开始工作的关键新闻的倾听和反应。请注意,我正在使用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>
答案 0 :(得分:4)
如果您使用的是jquery,可以这样做:
$(document).keydown(function(e){
if (e.keyCode == 39) {
alert( "right arrow pressed" );
return false;
}
});
答案 1 :(得分:1)
最简单的方法是使用许多热键库中的一个,例如https://github.com/jeresig/jquery.hotkeys或https://github.com/marquete/kibo。
编辑:尝试这样的事情(在你已经加载了Kibo的javascript之后)。在您的正文声明中,添加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>
答案 2 :(得分:1)
document.onkeydown= function(key){ reactKey(key); }
function reactKey(evt) {
if(evt.keyCode== 40) {
alert('worked');
}
}