无法从onkeydown事件中提醒值

时间:2013-02-27 21:24:38

标签: javascript

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

以下是我的几十次尝试失败的例子:

<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>

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

3 个答案:

答案 0 :(得分:0)

“onkeydown = text” - 这是一个错字吗?你是说“onkeydown = test”吗?

答案 1 :(得分: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

答案 2 :(得分:0)

尝试this

document.onkeydown = function test(ev) {
    var key = String.fromCharCode(ev.keyCode);
    if (key === "A") {
        alert("Hello!");
    }
}