js判断键盘按键

群晖设置公网ipv6方式域名解析访问 群晖、IPV6、域名解析 阅读详情

以前在网上看书的时候,总是希望能有一个功能,当按"->"方向键时,可以自动跳转到下一章,今天终于实现了这个功能,顺便也掌握了js中判断键盘按键的方法.权以此文志之!

 

判断方法:

在填写表单时,习惯性会按下回车键,这将导致表单提交,很不好,这里介绍一个方法截获它。

  其实很简单,只要在想截获的区域增加Onkeydown事件函数,并在执行函数中写下如下语句:

  if (window.event.keyCode==13) window.event.keyCode=0

  这样就取消回车键了

  如果想模拟Tab键,只要写成

  if (window.event.keyCode==13) window.event.keyCode=9

  就行了,它会跳到另一个元素上。

 

表 3. DHTML 键盘事件
名称 说明

onkeypress

这个事件在用户按下并放开任何字母数字键时发生。系统按钮(例如,箭头键和功能键)无法得到识别。

onkeyup

这个事件在用户放开任何先前按下的键盘键时发生。

onkeydown

这个事件在用户按下任何键盘键(包括系统按钮,如箭头键和功能键)时发生。

示例:

function document.onkeydown()
 {
  if ( event.keyCode=='39' ) //->右箭头
  {
   window.open("http://www.163.com");
  }
 }

 

function document.onkeypress()
 {
  if ( event.keyCode=='43' )
  {
   alert( '你输入了键盘的 “ + ” 键');
  }
 }

 

在使用JavaScript做WEB键盘事件侦听捕获时,主要采用onkeypress、onkeydown、onkeyup三个事件进行出来。该三个事件的执行顺序如下:onkeydown  ->  onkeypress  -> onkeyup。在一般情况下,采用三种键盘事件均可对键盘输入进行有效的响应。当在实际使用中,会发现这几者有些不同的差别。

  onkeypress事件不能对系统功能键(例如:后退、删除等,其中对中文输入法不能有效响应)进行正常的响应,onkeydown和onkeyup均可以对系统功能键进行有效的拦截,但事件截获的位置不同,可以根据具体的情况选择不同的键盘事件。
  由于onkeypress不能对系统功能键进行捕获,导致window.event对象的keyCode属性和onkeydown,onkeyup键盘事件中获取的keyCode属性不同,主要表现在onkeypress事件的keyCode对字母的大小写敏感,而onkeydown、onkeyup事件不敏感;onkeypress事件的keyCode无法区分主键盘上的数字键和付键盘数字键的,而onkeydown、onkeyup的keyCode对主付键盘的数字键敏感。
----------------------------------------------------------------------------------------------------------------------------------------------------
注:在Maxthon浏览器中,onkeydown和onkeyup有连续响应两次键盘事件的BUG,onkeydown不能正常地对F1~F12的功能键进行正常的截获(onkeyup没有发现该问题),具体原因不明。不知道以后是否会进行订正。

 

屏蔽组合键ctrl+N 

<script language=javascript> 
function KeyDown(){    
  if ((window.event.altKey)&& 
      ((window.event.keyCode==37)||   //屏蔽 Alt+ 方向键 ← 
       (window.event.keyCode==39))){  //屏蔽 Alt+ 方向键 → 
     alert("不准你使用ALT+方向键前进或后退网页!"); 
     event.returnValue=false; 
     } 
  if ((event.keyCode==8)||            //屏蔽退格删除键 
      (event.keyCode==116)){          //屏蔽 F5 刷新键 
     event.keyCode=0; 
     event.returnValue=false; 
     } 
  if ((event.ctrlKey)&&(event.keyCode==78)){   //屏蔽 Ctrl+n 
     event.returnValue=false; 
     } 
  if ((event.shiftKey)&&(event.keyCode==121)){ //屏蔽 shift+F10 
     event.returnValue=false; 
     } 
  if (event.keyCode==122){ //屏蔽 F11 
     event.returnValue=false; 
     } 
  } 

ASCII码

 
ASCII码键盘ASCII 码键盘ASCII 码键盘ASCII 码键盘
27ESC32SPACE33!34"
35#36$37%38&
39'40(41)42*
43+44'45-46.
47/480491502
513524535546
55756857958:
59;60<61=62>
63?64@65A66B
67C68D69E70F
71G72H73I74J
75K76L77M78N
79O80P81Q82R
83S84T85U86V
87W88X89Y90Z
91[92\93]94^
95_96`97a98b
99c100d101e102f
103g104h105i106j
107k108l109m110n
111o112p113q114r
115s116t117u118v
119w120x121y122z
123{124|125}126~
Harness设计——Anthropic实战:规划器、生成器、评估器三角色协作详解 本文探讨了如何通过多智能体架构突破AI编码的瓶颈问题。文章首先分析了当前AI编码面临的两大核心挑战:上下文窗口限制导致的连贯性丧失,以及自我评估机制缺失引发的质量判断偏差。针对这些问题,作者提出了基于生成对抗网络(GAN)灵感的解决方案,设计了三智能体系统:规划器负责需求分析,生成器执行编码任务,评估器进行质量审查。 实验表明,在前端设计任务中,通过制定可量化的评分标准(设计质量、原创性、工艺、功能性)并建立生成-评估反馈循环,能显著提升输出质量。这种架构随后被扩展到全栈开发领域,采用类似敏捷开发的&quo 阅读详情

相关推荐

第四篇:关于python程序打包的问题-找不到fsspec

这个问题困扰了我将近两天的时间一直找不到什么好的办法,甚至打算放弃。主要原因是身边没有可以述说的人,也没有可以请教的人。正在想要放弃的时候找到了解决办法。 打包后运行程序是这样的, 大概意思是找不见fsspec这个依赖,刚接触python说实话对于这些第三方库理解不是很到位,我的理解就是:类似于java程序中的jar包,程序找不见了。可怎么让他找见了,刚开始以为我自己没有安装fsspec,在cmd中进行了安装,结果如下图所示 很明显,已经安装并且安装目录都有,跟着网上的一些解决办法,在打包的时候把这.

weixin_47861710的博客 5865

原生JS监听浏览器F11全屏按键方法

原生JS监听F11按键方法 自己工作中遇到的一点点小问题,记录一下,希望也能对你们有帮助。 网上找的资料发现,监听会叠加,就做了小小的优化。代码如下: <script> $(function () { console.log(123123); $(document).on("keydown", function (e) { var e = event || window.event || arguments.callee.calle

weixin_43080076的博客 4049

Dataset - DeepFashion 服装数据集

Dataset - DeepFashion 服装数据集 [Dataset - DeepFashion] [Project - DeepFashion] 1. 服装类别和属性预测集 [Category - Attribute 下载] [百度网盘] 289,222 张服装图片 clothes images; 50 个服装类别 clothing categories 1,000 ...

长风破浪会有时,直挂云帆济沧海 2万+

Html网页控制用JavaScript代码:禁止复制文本,禁止鼠标右键菜单等

Html网页控制用JavaScript代码, 这些做法仅仅是对网站做了一层简单的防护,禁止选中文字、复制文本,禁止鼠标右键菜单等,应付一般的“小白”。

cnds123的专栏 1794

放弃FFT全频计算!在STM32F407上用DFT单点计算提速50%的优化技巧

本文详细介绍了在STM32F407上通过DFT单点计算实现比FFT快50%的优化技巧,特别适用于生物阻抗分析、振动监测等只需关注单一频点的嵌入式场景。通过预计算相位角、查表法和混合精度计算等策略,显著提升计算效率和内存利用率,同时保持高精度。

weixin_28738397的博客 194

从零到一:树莓派OpenWrt squashfs固件扩容背后的文件系统魔法

本文深入解析树莓派OpenWrt系统中squashfs固件的扩容原理与操作。通过理解squashfs与overlayfs的协同机制,掌握分区调整和文件系统扩容技巧,解决存储空间限制问题,提升设备可用性。

hadoop5ranger的博客 1037

原生JS全屏非F11

var fullscreenfun = function(full){ // 全屏 if (full){ if(document.exitFullScreen){ document.exitFullscreen() } //兼容火狐 if(document.mozCancelFullS...

kogwang的博客 220

iOS自动化之打包-xcodebuild命令行打包.app并安装到ios模拟器

xcode xcodebuild xcrun ios模拟器 iOS UI自动化测试 ios自动打包安装到ios模拟器

z12347891的博客 5074

js 进入浏览器全屏(F11效果)、退出全屏、指定元素全屏、判断当前是否全屏、监听浏览器全屏事件、定义全屏时的css样式(全屏伪类)

各部分功能代码详见注释: <template> <div> <button v-if="!ifFullScreen" @click="fullScreenPage">整个页面全屏</button> <button v-if="ifFullScreen" @click="exitFullScreen">退出全屏</button> <button @click="fullScreenPart('father

朝阳39的博客 8196

基于51单片机扫地机器人(全套Proteus仿真+原理图+程序+说明书)

(内含源程序代码,原理图,仿真,讲解视频,元件清单等,【精品】值得推荐!!!扫地机器人是以单片机为主控制器。通过单片机控制小车行驶、除尘、蜂鸣。扫地机器人使用双电机驱动,以提高整车运动的平稳性;在智能车进驶过程中,采用双超声波模块实现避障。

2301_76434107的博客 1895

常见的AXI总线仲裁器概述-AXI协议理解(一)

SoC 设计广泛采用共享总线式的片上通信,其中的仲裁器是共享总线的关键技术之一。AMBA AXI 总线协议以高性能、高频率的系统设计为目标,适合高带宽、低延迟的系统设计,可以达到高频率的操作而不需要复杂的总线桥,满足众多部件的接口要求,具备高度灵活的互联结构,并且向后兼容 AHB 和 APB 接口。

Paul 安的博客 1万+

用JS实现控制浏览器F12与右键功能

用JS实现控制浏览器F12与右键功能,防止恶意窃取代码,或其他直接复制进去就好。//禁用开发者工具F12。

学新通博客 3531

数据分析案例-对某宝用户评论做情感分析

目录 原始数据 绘制词云图 情感分析 原始数据 原始数据为某宝一商品的用户评论数据 绘制词云图 # coding=utf-8 import jieba import re import wordcloud import imageio # 打开需要分析词频的文本 with open('淘宝评论3.0.txt', encoding='utf-8') as f: data = f.read() # 文本预处理 :去除一些无用的字符只提取出中文出来 new_data

m0_64336780的博客 1万+

php如何检测键盘按键,JavaScript_js获取及判断键盘按键的方法,本文实例讲述了js获取及判断 - phpStudy...

js获取及判断键盘按键的方法本文实例讲述了js获取及判断键盘按键的方法。分享给大家供大家参考,具体如下:js 里面的键盘事件经常用到,所以收集了键盘事件对应的键码来分享下:keyCode 8 = BackSpace BackSpacekeyCode 9 = Tab TabkeyCode 12 = ClearkeyCode 13 = EnterkeyCode 16 = Shift_LkeyCode ...

weixin_30910583的博客 151

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

php如何检测键盘按键,js获取及判断键盘按键的方法_javascript技巧

本文实例讲述了js获取及判断键盘按键的方法。分享给大家供大家参考,具体如下:js 里面的键盘事件经常用到,所以收集了键盘事件对应的键码来分享下:keyCode 8 = BackSpace BackSpacekeyCode 9 = Tab TabkeyCode 12 = ClearkeyCode 13 = EnterkeyCode 16 = Shift_LkeyCode 17 = Control_L...

weixin_39710462的博客 237

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

php 键盘按键事件,js获取及判断键盘按键的方法_javascript技巧

本文实例讲述了js获取及判断键盘按键的方法。分享给大家供大家参考,具体如下:js 里面的键盘事件经常用到,所以收集了键盘事件对应的键码来分享下:keyCode 8 = BackSpace BackSpacekeyCode 9 = Tab TabkeyCode 12 = ClearkeyCode 13 = EnterkeyCode 16 = Shift_LkeyCode 17 = Control_L...

weixin_31321851的博客 379

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Js判断键盘按键

Js判断键盘 window.document.onkeydown = disableRefresh; function disableRefresh(evt){ evt = (evt) ? evt : window.event if (evt.keyCode) { if(e...

chenjiaxiang0916的博客 153

js获取键盘按键事件、判断键盘按键事件、调用键盘按键事件

js获取键盘按键事件、判断键盘按键事件、调用键盘按键事件

文龙刚的博客 3356

js 里面所有的键盘按键事件(获取及判断方法)

js 里面的键盘事件经常用到,所以收集了键盘事件对应的键码来分享下: keyCode 8 = BackSpace BackSpace keyCode 9 = Tab Tab keyCode 12 = Clear keyCode 13 = Enter keyCode 16 = Shift_L keyCode 17 = Control_L keyCode 18 = Alt_L keyCode 19 ...

weixin_43710171的博客 1964

javascript判断鼠标按键和键盘按键的方法

在网站前端设计时,通过键盘来控制页面状态的变化,比如up,down,pageUp,pageDown等来进行网站的滚动。目前,html5的发展带来了新的游戏体验,因此按键操作必不可少。 1.监...

M_Andrain的博客 124

JS判断键盘按键

获取键盘的键码的方法如下: window.document.onkeydown = disableRefresh;         function disableRefresh(e) {             e = (e) ? evt : window.event             alert(evt.keyCode)    //按下键盘任意键,都会弹出对应键码         ...

luoyu6的博客 1892
上一篇: HTML5/Javascript 2D游戏引擎列表
下一篇: 2011 09 06 学习总结
程序员迈克
博客等级 码龄16年 36粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值