javascript键盘事件

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script language="javascript" type="text/javascript">
function keyContent(e) {
if (!e) e = window.event;
if (e.keyCode) keyCode = e.keyCode;
else keyCode = e.which;
character = String.fromCharCode(keyCode);
k = document.getElementById("keys");
k.innerHTML += character;
}
window.onload = function() {
k = document.getElementById("keys");
if (k.addEventListener) {
k.addEventListener('keypress', keyContent, false);
}
else if (k.attachEvent) {
k.attachEvent('onkeypress', keyContent);
}
}
</script>
</head>
<body>
<p>Displaying Typed Characters</p>
<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" onKeyPress="keyContent(event);">
</p>
</body>
</html>
无法实现键盘事件,求解?
471348579,请问一下document.onkeypress=keyContent;这条语句改成
window.onload = function() {
k = document.getElementById("keys");
if (k.addEventListener) {
k.addEventListener('keypress', keyContent, false);
}
else if (k.attachEvent) {
k.attachEvent('onkeypress', keyContent);
}
}
为什么不行?我是用遨游运行的。答案满意,追加分数!

首先
<p id="keys" onKeyPress="keyContent(event);">
这句的 onKeyPress 多余了,因为上面的 JS 代码已经给他绑定。
其次,因为这个 <p> 不可编辑,所以不会产生 keypress 事件。

给你改一下程序,监听 window 的 keypress,显示在指定区域。

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>JavaScript测试</title>
<script language="javascript" type="text/javascript">
function keyContent(e) {
if (!e) e = window.event;
if (e.keyCode) keyCode = e.keyCode;
else keyCode = e.which;
character = String.fromCharCode(keyCode);
k = document.getElementById("keys");
k.innerHTML += character;
}
window.onload = function() {
k = window;
if (k.addEventListener) {
k.addEventListener('keypress', keyContent, false);
}
else if (k.attachEvent) {
k.attachEvent('onkeypress', keyContent);
}
}
</script>
</head>
<body>
<p>Displaying Typed Characters</p>
<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" style="border: 1px solid #FF0000; width:300px; height:200px;">
</p>
</body>
</html>
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-01-27
小小的改动了下。onKeyPress只支持有键盘输入的<input>元素

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script language="javascript" type="text/javascript">
function keyContent(e) {
if (!e) e = window.event;
if (e.keyCode) keyCode = e.keyCode;
else keyCode = e.which;
character = String.fromCharCode(keyCode);
k = document.getElementById("keys");
k.innerHTML += character;
}
window.onload = function() {
k = document.getElementById("keys");
if (k.addEventListener) {
k.addEventListener('keypress', keyContent, false);
}
else if (k.attachEvent) {
k.attachEvent('onkeypress', keyContent);
}
}
</script>
</head>
<body>
<p>Displaying Typed Characters</p>
<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>
在这里输入<input type="text" onKeyPress="keyContent(event);">
</body>
</html>
第2个回答  推荐于2016-06-26
小改动看看效果

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script language="javascript" type="text/javascript">
function keyContent(e) {
var e=e||event;
var keyCode=e.keyCode?e.keyCode:e.which;
character = String.fromCharCode(keyCode);
k = document.getElementById("keys");
k.innerHTML += character;
}
document.onkeypress=keyContent;
</script>
</head>
<body>
<p>Displaying Typed Characters</p>
<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>
</html>本回答被提问者采纳

JavaScript鼠标事件、键盘事件
JavaScript可使用事件处理机制,实现网页的交互性。事件不仅通过鼠标触发,亦能通过键盘操作触发。使用 `addEventListener` 可以为任意元素绑定事件处理函数,不需要额外加上 `on` 前缀。`onkeypress` 事件只识别标准键盘按键,忽略功能键如箭头键、Shift等。键盘事件的执行顺序遵循:`keydown` -> `keypress`...

keyup事件是什么
keyup事件是一种JavaScript事件。当用户在键盘上按下某个键并在释放按键时,触发的事件就是keyup事件。这是一个非常重要的交互事件,常用于表单验证、文本编辑等功能中。下面详细介绍keyup事件的相关知识。首先,keyup事件的特点。当用户释放键盘上的键时,会触发浏览器的事件处理机制。这种事件的特点是,...

Javascript常用大学生来看
1.鼠标事件 鼠标事件是指通过鼠标动作触发的事件,鼠标事件有很多,下面列举几个常用的鼠标事件,如表所示。2.键盘事件 键盘事件是指用户在使用键盘时触发的事件。例如,用户按(Esc 键关闭打开的状态栏,按[Enter] 键直接完成光标的上下切换等。下面列举几个常用的键盘事件如表15-16所示。表15-16JavaS...

用js怎么写一个回车键盘事件
一、设计思路:设计一个简单的输入对话框,然后按下enter进行输入事件。二、聊天输入框的代码如下:三、此时的页面展示如下:四:设计函数,使得输入文字时,按下按钮可以提交到聊天框。五、此时在页面上测试,输入一段文字:六、执行结果如下:七、设计函数,使得按下enter跟按钮同样的功能:八、刷新页面...

JS事件类型有哪些?分别是什么?
1. 鼠标事件<\/ 当用户的鼠标按下、移动或释放时,这些事件如click、dblclick、mousedown、mouseup、mousemove、mouseover和mouseout会触发,帮助我们捕捉用户的细致操作。2. 键盘事件<\/ 无论是keydown键入、keyup释放,还是keypress按下并释放,都能通过监听这些键盘事件,响应用户的输入和交互。3. 表单事件...

js中keydown键盘事件怎么只触发一次,再点击按键就不触发了?
要实现只在第一次按下按键时触发 keydown 事件,可以使用一个标志变量来记录按键是否已经按下。具体方法如下:```javascript var isKeyPressed = false; \/\/ 定义一个标志变量 document.addEventListener('keydown', function(event) { if (!isKeyPressed) { isKeyPressed = true;\/\/ 在这里添加只...

JavaScript中的键盘事件为什么失效?
1、use、pass这两个变量要设为全局的,在下面的函数中才会有效;2、onkeydown和onclick要用全小写,不要用驼峰写法。下面是改过后的代码:<!DOCTYPE html> 键盘事件实验 var use,pass window.onload = function() { use = document.getElementById("user");pass = document.getElementById...

JavaScript怎么才能让按一个键盘判断2次事件?
判断和上一次触发keyUp或者KeyXXX事件相差的时间(一般判断双机的话300~500毫秒),不知道你是不是这个逻辑。或者某个特定的键触发事件后,针对此事件定义一个变量 每次++,通过取莫判断单双数来确定是否是第二次按下。jQuery代码:(window).keypress(function(e){var k = e.which;});~...

...当按下键盘上的任意一个键时都会触发javascript的哪个事件
window.onkeydown = function(){ ...}

笔记本数字键盘切换的方法是什么
笔记本电脑的数字键盘切换可通过JavaScript实现。许多笔记本虽然设计上并未配备物理数字键盘,但通过编程技巧,我们能模拟出数字键盘功能。首先,利用JavaScript监听键盘事件,特别是那些触发数字键盘显示的组合键,如Shift+Num Lock。在网页中,可以使用HTML的和标签构建虚拟数字键盘,每个键位代表一个数字,通过CSS...

相似回答