浅谈JavaScript中按键事件的e.keyCode || e.which || e.charCode

Conda虚拟环境用conda和pip安装软件包的路径问题 解决在虚拟环境中用pip默认把软件包安装到全局site-packages中。 阅读详情

1、浏览器的按键事件

浏览器有3种按键事件——keydown,keypress和keyup,分别对应onkeydown、onkeypress和onkeyup3个事件句柄。

一个典型的按键会产生所有这三种事件,依次是keydown-->keypress-->keyup。

[html]  view plain  copy
  1. <input type="text" id="text">  
  2. <script>  
  3.     document.getElementById("text").onkeypress = function() {  
  4.         console.log("keypress");  
  5.     };  
  6.     document.getElementById("text").onkeyup = function() {  
  7.         console.log("keyup");  
  8.     };  
  9.     document.getElementById("text").onkeydown = function() {  
  10.         console.log("keydown");  
  11.     };  
  12. </script>  
控制台输出:

keydown
keypress
keyup


2、浏览器的兼容性

(1)FireFox、Opera、Chrome

事件对应的函数有一个隐藏的变量e,表示发生事件。

e有一个属性e.which指示哪个键被按下,给出该键的索引值(按键码)。

静态函数String.fromCharCode()可以把索引值(按键码)转化成该键对应的的字符。

eg:

[html]  view plain  copy
  1. <input type="text" id="text">  
  2. <script>  
  3.     document.getElementById("text").onkeypress = function(e) {  
  4.         alert("按键码: " + e.which + " 字符: " + String.fromCharCode(e.which));      
  5.     };  
  6. </script>  

FireFox、Opera、Chrome中输入:a

输出:按键码:97 字符:a


(2)IE

IE不需要e变量,window.event表示发生事件。

window.event有一个属性window.event.keyCode指示哪个键被按下,给出该键的索引值(按键码)。

静态函数String.fromCharCode()可以把索引值(按键码)转化成该键对应的的字符。

eg:

[html]  view plain  copy
  1. <input type="text" id="text">  
  2. <script>  
  3.     document.getElementById("text").onkeypress = function() {  
  4.         alert("按键码: " + window.event.keyCode + " 字符: " + String.fromCharCode(window.event.keyCode));      
  5.     };  
  6. </script>  

IE中输入:a

输出:按键码:97 字符:a


3、判断浏览器类型

利用navigator对象的appName属性。

IE:navigator.appName=="Microsoft Internet Explorer"

FireFox、Opera、Chrome:navigator.appName=="Netscape"

eg:

[html]  view plain  copy
  1. <input type="text" id="text">  
  2. <script>  
  3.     document.getElementById("text").onkeypress = function(e) {  
  4.         if (navigator.appName == "Microsoft Internet Explorer")   
  5.             alert("按键码: " + window.event.keyCode + " 字符: " + String.fromCharCode(window.event.keyCode));   
  6.         else if (navigator.appName == "Netscape")   
  7.             alert("按键码: " + e.which + " 字符: " + String.fromCharCode(e.which));       
  8.     };  
  9. </script>  

IE、FireFox、Opera、Chrome中输入:a

输出:按键码:97 字符:a

简化的写法:

[html]  view plain  copy
  1. <input type="text" id="text">  
  2. <script>  
  3.     document.getElementById("text").onkeypress = function(e) {  
  4.         e = e || window.event;  
  5.         key = e.keyCode || e.which || e.charCode;  
  6.         alert("按键码: " + key + " 字符: " + String.fromCharCode(key));       
  7.     };  
  8. </script>  

说明:IE只有keyCode属性,FireFox中有which和charCode属性,Opera中有keyCode和which属性,Chrome中有keyCode、which和charCode属性。

基于Python的网贷平台数据爬虫实战:Scrapy+Selenium+反反爬策略 python复制下载# items.py本文详细介绍了如何使用Python构建一个完整的网贷平台数据爬虫系统,涵盖了从基础爬取到高级反反爬策略的全套解决方案。我们使用了Scrapy框架作为基础,结合Selenium处理动态内容,实现了多种反反爬策略,并探讨了分布式爬虫的实现方式。机器学习识别验证码基于深度学习的网页结构变化检测自动化行为模拟的更精细控制基于Kubernetes的弹性爬虫集群。 阅读详情

相关推荐

ESP32-P4开发板实战:从零配置VSCode环境到点亮MIPI-DSI屏幕(避坑指南)

本文详细介绍了ESP32-P4开发板在VSCode环境下的配置流程,包括SDK安装、idf_component.yml依赖管理,以及MIPI-DSI屏幕驱动的实现方法。通过实战指南帮助开发者避开常见配置陷阱,快速完成从环境搭建到屏幕点亮的全流程,适用于物联网和嵌入式开发场景。

pp12345的博客 743

JavaScript中e.keycode详解

概述 学过javascript(简称js)的朋友应该都知道e.keycode事件在网页中有着重要作用,下面分享一下关于e.keycode的具体应用和详解 实例 1.获取按下的键盘按键Unicode值: var x = event.keyCode; 2.x 输出结果为: 119 // 119 是字符 "w" 定义和使用 定义 keyCode 属性返回onkeypress事件触发的键的值的字符代码,或者 onkeydown 或 onkeyup 事件的键的代码。 两种代码类型的区别是: 字符代码:表示

InetGeek的博客 6301

【5G】5G 核心网(5GC)基本架构

本文旨在科普5G核心网相关知识...

Learning makes me happy (0^◇^0) 4万+

event.keycode值大全

event.keycode值大全 1 keycode 8 = BackSpace BackSpace 2 keycode 9 = Tab Tab 3 keycode 12 = Clear 4 keycode 13 = Enter 5 keycode 16 = Shift_L 6 keycode 17 = Control_L ...

weixin_30378623的博客 222

使用SSE流式输出(Javaweb前后端实战)

SSE(Server-Sent Events)是一种在Web应用中实现单向实时通信的技术。通过SSE,服务器可以主动向客户端发送更新,而无需客户端不断发起请求。这对于需要实时更新的应用场景(如聊天应用、实时数据监控等)非常有用。(服务端单向传输客户端,长连接)

记得开心一点嘛的博客 1万+

SAP ABAP实战:用BAPI_PO_CREATE1创建采购订单时,如何巧妙处理PBXX和PB00条件类型?

本文深入探讨了在SAP ABAP开发中使用BAPI_PO_CREATE1创建采购订单时,如何有效处理PBXX和PB00条件类型的难题。通过分析外协加工订单的特殊需求,提供了从问题定位到解决方案的全流程方法,包括数据流向追踪、字段控制策略和增强实现方案,帮助开发者解决条件类型自动生成的业务痛点。

weixin_30614109的博客 824

前端键盘码的获取和使用

按键w表示向上移动,a表示向左移动,s表示向下移动,d表示向右移动。

weixin_45096939的博客 1223

一文搞懂 RC Correlation Scale Factor 的生成与应用

pre-route 用的是统计估算模型,post-route 用的是详细布线提取,signoff 用的是第三方 QRC 或 StarRC——三个工具,三套参数体系,结果自然天差地别。不同 RC corner(rc_worst/rc_best/rc_typical)对应不同的工艺角和温度环境,每个 corner 的 R/C 偏差比例不同,必须分别生成和应用各自的 scale factor。别被名字骗了,这个工具专门干一件事——统计拟合两组 SPEF 之间的偏差,自动推荐最优 scaling factor。

weixin_47770727的博客 561

jquery 中 e.keycode不能正确输出或不起作用的解决方法

keycode 输出undefined 不能正常运行。e.keyCode中的 ”C“ 必须大写才行!之前已经犯过一次错了,没想到再次还会犯错。e.keyCode 就能正常输出啦!

周百万的博客 755

Unity 升级 xLua 版本,编译不同平台链接库

Unity 升级 xLua 详解

LymanCao的专栏 1802

某讯天御滑块验证码逆向实战:从参数解析到环境对抗

本文详细解析了某讯天御滑块验证码的逆向工程实战技巧,从关键参数解析到浏览器环境模拟对抗。重点介绍了collect、eks等参数的逆向思路,以及如何通过puppeteer等工具补全环境检测,帮助开发者有效突破验证码防护。文章还提供了常见错误解决方案和性能优化建议,是验证码逆向领域的实用指南。

weixin_29325007的博客 440

e.keycode详解

keycode 1 = 鼠标左键keycode 2 = 鼠标右键keycode 3 = Cancelkeycode 4 = 鼠标中键 keycode 8 = BackSpace BackSpacekeycode 9 = Tab Tabkeycode 12 = Clear...

chixian4839的博客 807

Nvidia Jetson平台 JP4.2.1版本GStreamer视频采集异常问题调试记录

Nvidia Jetson平台GStreamer in JP4.2.1不能采集但是 v4l2-ctl和 ffmpeg能正常采集视频。

jzwjzw19900922的博客 2127

转:浅谈JavaScript中按键事件的e.keyCode || e.which || e.charCode

1、浏览器的按键事件 浏览器有3种按键事件——keydown,keypress和keyup,分别对应onkeydown、onkeypress和onkeyup3个事件句柄。 一个典型的按键会产生所有这三种事件,依次是keydown-->keypress-->keyup。 1 <input type="text" id="text"> 2 <script&...

weixin_30294021的博客 400

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

JS键盘事件对象之keyCode、charCode、which属性对比

  先说一些有关键盘事件的事项:用js实现键盘记录,要关注浏览器的三种按键事件类型,即keydown,keypress和keyup,它们分别对应onkeydown、 onkeypress和onkeyup这三个事件句柄。一个典型的按键会产生所有这三种事件,依次是keydown,keypress,然后是按键释放时候的keyup。   在这3种事件类型中,keydown和keyup比较...

540

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

JS--JavaScript使用键盘事件、键盘事件属性(keyCode、charCode、target...)、使用键盘控制页面元素

键盘事件 当用户操作键盘时会触发键盘事件,键盘事件主要包括下面3种类型: keydown: 在键盘上按下某个键时触发。如果按住某个键,会不断触发该事件,但是Opera浏览器不支持这种连续操作。该事件处理函数返回false时,会取消默认的动作(如输入的键盘字符,在IE和Safari浏览器下还会禁止keypress事件响应) keypress: 按下某个键盘键并释放时触发。如果按住某个键,会不断触发...

吴声子夜歌的博客 3055

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

JavaScript中按键事件

JavaScript中按键事件的e.keyCode || e.which || e.charCode 浏览器 事件 兼容属性 Opera e/ev/event keyCode、which Chrome e/ev/event keyCode、charCode、which Firefox e/ev/event keyCode、charCode、which IE9+ wind...

qq_42731413的博客 463

JS获取键盘按下的键值event.keyCode,event.charCode,event.which的兼容性

js获取键盘按下的键值有event.keyCode,event.charCode和event.which 其中: 谷歌浏览器对event.keyCode,event.charCode和event.wh...

qq_45670012的博客 561

charCode与keyCode的区别

在标准浏览器下获取键盘按键我们可以使用e.which,但是非标准下没有这个属性,所以大部分情况下用keyCode,但是这是存在兼容性问题的。我们来看下他两的区别: onkeydown: e.keyCode  有值 onkeyup: e.keyCode 有值 onkeypress: e.keyCode 为0   onkeydown: e.charCode  为0

someby的博客 1697

JavaScript中按键事件的e.keyCode || e.which || e.charCode

1、浏览器的按键事件 浏览器有3种按键事件——keydown,keypress和keyup,分别对应onkeydown、onkeypress和onkeyup3个事件句柄。 一个典型的按键会产生所有这三种事件,依次是keydown-->keypress-->keyup。 1 <input type="text" id="text"> 2 <script&...

weixin_30394251的博客 452

javascript中keyCode与charCode属性

好记性不如烂笔头啊,最近总是忘记这两个属性的区别。

博客已转至http:qingguoing.com 1512

关于键盘事件中keyCode、which和charCode 的兼容性测试

说在Firefox和IE下取到的keyCode不一样,在FF下不区分大小写键。 http://www.dodo.hk/article.asp?id=369 修改了下测试,想回复一下的,结果提示字数太多贴不了,就写到这吧:) 测试结果: 在IE下: >> 支持keyCode >> 不支持which和charCode,二者值为 undefin...

weixin_30719711的博客 100

javascript 记录按键动作和按键时间

主要分四个部分 第一部分:浏览器的按键事件 第二部分:兼容浏览器 第三部分:代码实现和优化 第四部分:总结   第一部分:浏览器的按键事件     用js实现键盘记录,要关注浏览器的三种按键事件类型,即keydown,keypress和keyup,它们分别对应onkeydown、 onkeypress和onkeyup这三个事件句柄。一个典型的按键会产生所有这三种事件,依次是keydo

Coding Life 6745
上一篇: html javaScript 只能输入数字
下一篇: javascript中replace使用方法总结
ole_triangle_java
博客等级 码龄10年 82粉丝 83原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值