键盘事件--显示键入的字符.哪为高手能帮我解释一下代码中诸如e.keyCode,k.innerHTML之类的意思!

来源:百度知道 编辑:UC知道 时间:2024/05/05 17:01:48
打开记事本复制以下代码并保存为.html格式,就可以运行了。
<html>
<head>
<title>Displaying Keypresses</title>
<script language="Javascript" type="text/javascript">
function DisplayKey(e)
{
if(e.keyCode) keycode=e.keyCode;
else keycode=e.which;
character=String.fromCharCode(keycode);
k=document.getElementById("keys");
k.innerHTML+=character;
}
</script>
</head>
<body onKeyPress="DisplayKey(event);">
<h1>Displaying Typed Character</h1>
<p>This document includes a simple script that displays the keys you type in the paragraph below.Type a few keys and try it.</p>
<p id="keys">
</p>
</body>
</heml>
期待高手的讲解!谢谢了!
我是一个刚刚学习Javascript语言的菜鸟!
这是我摘抄的一段Javascript语言中的代码,哪为高手能帮着讲解一下整个程序的意思。里边好多函数,事件之类的代码我从来都没见过,如:onKeyPress,

上段代码功能是显示键盘输入字符的。
<!--首先在body标签处给onkeypress事件加一个方法,当用户单击一下键盘上的一个键时,单击(Alt,Ctrl,Shift)这三个控制键时会触发keydown和keyup这两个事件,如果单击其他键会先后触发keydown,keypress,keyup这三个事件,其中输入字符是在keypress事件发生之后,每个event事件都会有keyCode属性,记录的是该事件对应输入的Unicode字符,所以要想取得键盘输入的值就要编辑下keypress事件。参数“event”就是“keypress”事件本身。-->
<body onKeyPress="DisplayKey(event);">

// 触发keypress事件时会执行该方法。
function DisplayKey(e)
{
// 要想获得相应事件的keycode属性,IE中可以使用keycode属性,但是在Netscape/Firefox/Opera中不支持window.event.keyCode,所以想要在除了IE以外其他浏览器中获得相应输入的Unicode值就需要用event.which来代替event.keyCode
if(e.keyCode) keycode=e.keyCode;
else keycode=e.which;
// String.fromCharCode方法是把Unicode值转换成相应的字符值便于显示使用。
character=String.fromCharCode(keycode);
// 使用document.getElementById() 能够精确获得html中的某个元素,该句通过Id属性获得<p id="keys"></p>
k=document.getElementById("keys");
// 从IE4.0以后为了更加方便的进行文档的操作,对所有的元素都引入了innerHTML和innerText这两个特性。通过k.innerHTML可以直接操作“id=keys”的内容。