大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
js中的键盘事件包括 onkeydown 、 onkeyup 、 onkeypress
创新互联2013年开创至今,先为麻山等服务建站,麻山等地企业,进行企业商务咨询服务。为麻山企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
1、onkeydown
键盘按下后就会立即执行的事件,不管是数字键、字母键还是功能键都能触发这个事件。
onkeydown有个特点:键盘一直按下会不停地触发事件,连续触发时,第一次和第二次的触发时间间隔会比较长一点,后面触发速度就非常的快。这种设计是为了防止误操作的发生。
2、onkeyup
键盘松开后立马执行的事件。
3、onkeypress
键盘按键被按下并释放一个键时执行。数字键、字母键能触发事件,但是功能键按下后不会触发这个事件,比如Esc、Tab、CapsLock、Shift、Ctrl、Alt、Delete、Backspace、四个方向键。
补充一些常用按键对应的Unicode编码:
Enter:13
space:32
Left:37
Up:38
Right:39
Down:40
script type="text/javascript" language=JavaScript charset="UTF-8"
document.onkeydown=function(event){
var e = event || window.event || arguments.callee.caller.arguments[0];
if(e e.keyCode==27){ // 按 Esc
//要做的事情
}
if(e e.keyCode==113){ // 按 F2
//要做的事情
}
if(e e.keyCode==13){ // enter 键
//要做的事情
}
};
/script
只要你定义了这些键的动作,你在浏览器里按下这些键就会响应,兼容目前所有浏览器。
我做了一个jsp页面,里面有个搜索的功能,搜索是一个放大镜模样的图片,我给了个链接去执行函数,具体代码是:span onclick="_search();"img src="images/search.gif" border="0" 现在用鼠标点这个搜索图片是没问题的
有搜索条件输入框不?
有的话就在输入框加上onkeypress="if (event.keyCode == 13) _search();"
没有的话就给body加上面这段
一、设计思路:设计一个简单的输入对话框,然后按下enter进行输入事件。
二、聊天输入框的代码如下:
三、此时的页面展示如下:
四:设计函数,使得输入文字时,按下按钮可以提交到聊天框。
五、此时在页面上测试,输入一段文字:
六、执行结果如下:
七、设计函数,使得按下enter跟按钮同样的功能:
八、刷新页面,测试:
两个错误:
1、use、pass这两个变量要设为全局的,在下面的函数中才会有效;
2、onkeydown和onclick要用全小写,不要用驼峰写法。
下面是改过后的代码:
!DOCTYPE html
html
head
meta charset="utf-8" /
meta name="viewport" content="width=device-width, initial-scale=1"
title键盘事件实验/title
script type="text/javascript"
var use,pass
window.onload = function() {
use = document.getElementById("user");
pass = document.getElementById("pass");
var denglu = document.getElementById("denglu");
use.onkeydown = key1;
pass.onkeydown = key2;
denglu.onclick = wang;
}
function key1() {
if(window.event.keyCode == 13){
pass.focus();
}
}
function key2() {
if(window.event.keyCode == 13){
wang();
}
}
function wang() {
var id = use.value;
var word = pass.value;
if(id == ""){
alert("用户名不能为空!");
use.focus();
}
else if(word == ""){
alert("密码不能为空!");
pass.focus();
}
else{
alert("开始验证登陆,请稍后...");
}
}
/script
/head
body
h2请按下回车键提交用户名和密码/h2
用户名:input type="text" id="user" /br/br/br/
密 码:input type="password" id="pass" /br/br/
input type="button" id="denglu" value="登录" /br/
/body
/html