检测哪个键被按下 - 这是一个好方法吗?
前段时间我在网上找到一个简单的代码...找不到它的特殊网站,但代码是在2005年制作的。所以,我想知道这是否是一个很好的方法:检测哪个键被按下 - 这是一个好方法吗?
这是HTML:
<body onload="document.body.focus();" onkeyup="return keypressed(event)">
当钥匙了它调用JavaScript的这个功能:(!也许更多)
function keypressed(e) {
var intKey = (window.Event) ? e.which : e.keyCode;
if (intKey == 13) { // 13 = enter key
//something happens if the key is clicked
}
// here, you can add as many if sentences for key strokes as you want! (same as first)
return true;
}
我的意思是,代码为7岁我认为这可能会有点过时!
我的问题:
是否有这样做的更好的办法还是这仍然是一个好办法吗? (我不想使用jQuery代码,因为我不想只用于一个功能)
我真的需要这段代码:
onload="document.body.focus();"
? (我还没有编程这个代码,所以我不知道。)
你不需要load
处理程序,网页会加载后已经集中,和/或如果有人按下进入页面上的任何地方都会关注它。
如果您需要keyup
处理程序取决于您想要用它做什么。你显示的代码是一个输入处理程序。如果您希望在输入时输入文字输入字段,请输入,将处理程序添加到该字段效率更高。
此外,最好从你的脚本中使用它(unnobtrusive javascript的一部分使用)。一个keypress
处理程序就足够了,否则输入值将成为输入值的一部分。喜欢的东西:
[someTextInput].onkeypress = function(e){
e = e || event;
if ((e.which || e.keyCode) === 13){
// do things
}
}
,或者您可以使用addEventListener/attachEvent
(See here)。
function displayunicode(e){
var unicode = e.keyCode ? e.keyCode : e.charCode
alert(unicode)
}
做同样事情的另一种方法。
啊,然后你可以很容易找到键码?谢谢! :d – 2012-07-18 20:07:52
@Kooilnc我不完全确定你的代码是什么意思...你能告诉我如何在实践中做到这一点吗? – 2012-07-18 20:06:53