怎样用js模拟键盘事件

怎样用js模拟键盘事件,第1张

没有确切的方法,只能模拟绑定KeyPress事件,而且事件触发能通过按键的值。KeyPress事件主要用来捕获数字(注意:包括Shift+数字的符号)、字母(注意:包括大小写)、小键盘等除了F1-12、SHIFT、Alt、Ctrl、Insert、Home、PgUp、Delete、End、PgDn、ScrollLock、Pause、NumLock、{菜单键}、{开始键}和方向键外的ANSI字符。相关事件是keydown事件和keyup事件。相关的按键数字你可以网上找一下,如:enter =13 ,shift =16 。这样就可以知道是哪个按钮按下了。

js中的键盘事件包括 onkeydown onkeyup onkeypress

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

先说问题吧,问题在于你每次点击input时候都给数字键盘绑定了click事件,这就导致在点击第二个input输入时,数字键盘已经绑定了2个click事件了,第一个input当然会输入了,解决方法就是在给数字键盘绑定click方法的时候取消前面的所有绑定

只要你定义了这些键的动作,你在浏览器里按下这些键就会响应,兼容目前所有浏览器。

<script type="text/javascript" language=JavaScript charset="UTF-8">

documentonkeydown=function(event){

var e = event || windowevent || argumentscalleecallerarguments[0];

if(e && ekeyCode==27){ // 按 Esc

//要做的事情

}

if(e && ekeyCode==113){ // 按 F2

//要做的事情

}

if(e && ekeyCode==13){ // enter 键

//要做的事情

}

};

以上就是关于怎样用js模拟键盘事件全部的内容,包括:怎样用js模拟键盘事件、键盘事件、哪位大神能帮我解决下js写的小键盘的一个小bug等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10136187.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存