JS捕获页面按键事件

JS捕获页面按键事件

有时候我们需要捕获页面上的按键(如回车键)事件,以达到一些特殊效果,例如在登录页面用户输入完登录名和密码后习惯直接敲回车,这时需要捕获回车事件。

浏览器通过keyCode属性可以获取按键代码。

document对象的按钮弹起事件(捕获按下事件也可以),浏览器会将用户按下的按键信息对象传递到事件回调函数中(以参数的形式),传入函数中的这个按键信息中包含了一个用来识别按键的编号(每个按键都有一个对应的编号)。

例1、模拟输入后回车验证

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title> JS捕获页面按键事件</title>
</head>
<body>
<p>输入文本回车验证处理</p>
<input type="text" id="me"/>
<script>
    window.onload=function(){
          document.getElementById("me").onkeydown=function(event){
               if(event.keyCode===13){  //回车键的键值:13
                     alert('对你的输入:' + document.getElementById("me").value + '  进行验证...')
              }
         }
     }
</script>
</body>
</html>

我将此保存文件名为:捕捉按键1.html

用浏览器打开,参见下图:

例2、按下E键,输出HELLO

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>捕捉E键</title>
</head>
<body >
<p>按下键E,在文本框中显示HELLO</p>
<input value=""  id="me"/>
<script>
        document.onkeyup = function (ev) { //按键信息对象以函数参数的形式传递进来
    	var code =  ev.keyCode;  //取出按键代码
    	if (code == 69) { // 键E代码69 
      	     //alert('HELLO')
             document.getElementById("me").value = 'HELLO';
    	    }
        }
</script>
</body>
</html>

我将此保存文件名为:捕捉按键2.html

用浏览器打开,参见下图:

例2代码可改为如下,效果一样。

<html> 
<head> 
<meta charset="utf-8"> 
<title>捕捉E键</title>
</head> 
<body onkeyup="test1(event)"> 
<p>按下键E,在文本框中显示HELLO</p>
<input value=""  id="me"/>
<script> 
   function test1(ev){ //按键信息对象以函数参数的形式传递进来
     var code =  ev.keyCode;  //取出按键代码
    	if (code == 69) { // 键E代码69 
      	     //alert('HELLO')
             document.getElementById("me").value = 'HELLO';
            }
   } 
</script> 
</body> 
</html>

两者代码差异之处,参见下图:

在线键盘码查询 鼠标和键盘对照表javascript Keycode

关于JavaScript事件更多情况,可参见

JavaScript事件示例_cnds123的专栏-CSDN博客

事件介绍 - 学习 Web 开发 | MDN 从中可以学习JS事件绑定的方式、事件对象等知识

附录、编程语言中的事件(Event)和事件处理器(Event Handlers、事件处理程序)

编程中的事件是对象对刺激的响应,事件可以用来触发一段特定的代码。事件分为:外部事件和内部事件。外部事件:由外部用户动作产生的事件。例如,点击鼠标、按键盘。内部事件:由系统内部产生的事件。例如,定时器事件。事件中执行的代码需要程序员编写。

事件驱动程序设计(Event-driven programming)是一种电脑程序设计模型。这种模型的程序执行流程是由用户的动作(如鼠标的按键,键盘的按键动作)或者是由其他程序的消息来决定的。事件驱动程序设计这种设计模型是在交互程序(Interactive program)的情况下孕育而生的。

事件驱动程序可以由任何编程语言来实现,然而使用某些语言来撰写会比其他的语言来的简单。属于事件驱动的编程语言有:VB、C#、JavaScript 、Java(Java Swing的GUI)、Python基于tkinter的GUI编程等。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学习&实践爱好者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值