0

到目前为止,我发现或尝试过的任何东西都没有帮助或产生任何正常工作的东西。

这是我的几十次失败尝试的一个例子:

<html>
<head>
<title>Keyboard Test</title>
<script type="text/javascript">
onkeydown=text
function test() {
var key=String.fromCharCode;
if (key=="a")
alert("Hello!");
}
</script>
</head>
</html>

有人可以告诉我如何正确地尝试这个以及为什么它有效吗?

4

3 回答 3

0

“onkeydown=text”——这是一个错字吗?你的意思是“onkeydown=test”吗?

于 2013-02-27T21:29:47.567 回答
0

这是一个示例,它主要完成您想要做的事情,但方式非常不同:http: //jsbin.com/usonoh/1/edit

HTML:

<input id="foo">

Javascript:

document.getElementById("foo").addEventListener("keydown", function (ev) {
  if (ev.which === 'A'.charCodeAt(0)) {
    alert("A!");
  }
});

希望它非常简单,但它所做的是获取 ID 为“foo”的 HTML 元素,向“keydown”事件添加一个事件侦听器(这只是您传入的一个函数),然后在侦听器本身中我们检查刚刚在“foo”输入中按下的键是否是 charcode 65(“a”键)。

通常,您应该在 Javascript 中附加事件侦听器,并且应该使用 addEventListener 方法而不是设置 on* 属性。

我强烈推荐 Mozilla Developer Network 来查找 DOM API 信息;以下是此示例的相关页面:

https://developer.mozilla.org/en-US/docs/DOM/document.getElementById https://developer.mozilla.org/en-US/docs/DOM/element.addEventListener

于 2013-02-27T21:30:01.397 回答
0

像这样试试

document.onkeydown = function test(ev) {
    var key = String.fromCharCode(ev.keyCode);
    if (key === "A") {
        alert("Hello!");
    }
}
于 2013-02-27T21:37:27.713 回答