问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎样用js模拟键盘事件

发布网友 发布时间:2022-04-23 15:09

我来回答

2个回答

懂视网 时间:2022-04-07 11:09

使用的图:

f82390ae8afb9ba9750fac88e04ad1c.png

效果图:

26ecb9da85499cfc645fa0d782cda5e.png

(推荐教程:javascript教程)

实例代码:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
 <style>
 html
 {
 background-color: deepskyblue;
 }
 div
 {
 width: 32px;
 height: 32px;
 background-image: url("img/Actor01-Braver03.png");
 position: absolute;
 }
 </style>
</head>
<body>
 <div></div>
 <script>
 var key=0;
 var bool=false;
 var speed=2;//每次行走的距离
 var actor;//人物div
 const HEIGHT=33;//人物的高
 const WIDTH=32;//人物的宽
 var arr=[1,3,2,0];//4排图像 代表 下 左 右 上
 var num=0;
 var jumpBool=false;
 var actorSkinSpeed=8;
 var jumpSpeed=-15;
 init();
 function init() {
 window.addEventListener("keydown",keyHandler);
 window.addEventListener("keyup",keyHandler);
 actor=document.querySelector("div");
 setInterval(animation,16);
 //按键驱动不能实现 实现的是通过按键触发相应动画 实现我们的人物的帧动画 跳转
 }
 
 function keyHandler(e) {
 bool=e.type==="keydown";
 key=e.keyCode;
 if(!bool){
 num=0;
 actor.style.backgroundPositionX=-num*WIDTH+"px";
 }
 if(key===32 && !jumpBool){//跳跃 空格驱动
 jumpBool=true;
 }
 }
 
 function animation() {
 jump();
 if(!bool)return;
 walk();//单方向行走 实现
 changeDirection();//方向确定时 内部行走的实现
 }
 
 function jump() {
 if(!jumpBool)return;
 jumpSpeed+=1;
 if(jumpSpeed===15){
 jumpBool=false;
 jumpSpeed=-15;
 return;
 }
 actor.style.top=actor.offsetTop+jumpSpeed+"px";
 }
 
 function changeDirection() {
 actorSkinSpeed--;
 if(actorSkinSpeed>0) return;
 actorSkinSpeed=8;
 num++;
 if(num>3) num=0;
 actor.style.backgroundPositionX=-num*WIDTH+"px";
 }
 
 function walk() {
 switch (key){
 case 37://左 ×1 第二排
  actor.style.left=actor.offsetLeft-speed+"px";
  actor.style.backgroundPositionY=-arr[0]*HEIGHT+"px";
  break;
 case 38://上 ×3 第四排
  actor.style.top=actor.offsetTop-speed+"px";
  actor.style.backgroundPositionY=-arr[1]*HEIGHT+"px";
  break;
 case 39://右 ×2 第三排
  actor.style.left=actor.offsetLeft+speed+"px";
  actor.style.backgroundPositionY=-arr[2]*HEIGHT+"px";
  break;
 case 40://下 ×0 第一排
  actor.style.top=actor.offsetTop+speed+"px";
  actor.style.backgroundPositionY=-arr[3]*HEIGHT+"px";
  break;
 
 }
 }
 </script>
</body>
</html>

相关视频教程推荐:javascript视频教程

热心网友 时间:2022-04-07 08:17

没有确切的方法,只能模拟绑定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模拟键盘事件

1. IE下没什么问题,创建事件对象、对对象的keyCode属性赋值,然后再抛出来就行了:2. Firefox 需要通过document.createEvent创建KeyEvents对象,再通过initKeyEvent方法对事件对象初始化 initKeyEvent 参考:https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/initKeyEvent 3. Chrome/Safari...

js如何才能模拟键盘按键?

回答:这个不能把,我要是能的话不断模拟用户点击 alt+F4,那网页还能打开吗有安全漏洞的东西,浏览器一般不会允许

js能模拟键盘输入么?

我跟你一样。有的网页可以用data数据:way.set("name","用户名"),其中格式是data-way-name 有的没有data这下就麻烦了,应该是在按键事件里面没有执行标记,导致提交函数检查到没有执行按键事件,建议每个input获取到焦点,自动填入数据,再发送个按键事件。

js如何监听非ctrl alt shift的组合键

由于硬件的限制,如果同时按下q键和s键,会连续触发两次键盘事件,所以严格来讲所谓的“非ctrl alt shift的组合键”并不是真正的组合键,只是相当于快速地连续按了两个键而已。要想模拟出组合键的效果,就要用一个全局变量先保存第一次按键键码,然后在第二次时再根据两次的键码来判断是否“同时”按...

油猴怎么写一个回车自动提交的脚本

写一个键盘事件就可以了 当作js来写 获取提交的按键 模拟点击

让鼠标自动点击方法或者是软件!!

可以写一个js小程序,每隔几秒自动触发点击事件,举个例子:每隔2秒,模拟一次按钮的点击事件:&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt; 两秒后模拟按钮点击事件 setInterval(function(){document....

如何给input搜索表单加入键盘确定效果?

&gt; $(function(){ $("#demo_id").keyup(function(e){ if(e.keyCode==13){ $("#demo_button_id").click();//模拟button的click事件 } }); //给button加载onclick事件 $("#demo_button_id").click(function(){ alert($("#demo_id").val())...

如何编写js插件如何编写js插件文件

JSDoc根据javascript文件中注释的信息,生成API文档详细 hotkeys键盘事件的封装 MD5用MD5的方式加密文件的库 浏览器增强类 让一些旧浏览器变牛逼的库 Selectivizr让IE6-8一些的css3选择器 ieBetter让ie6-8有高级浏览器的特性 ExplorerCanvas让IE8-的浏览器支持canvas CSS3Pie让IE6-9支持border-radious,box-shadow,...

js 键盘上Tab键,进行切换焦点时,这个事件执行的是哪个方法

执行的是onkeyDown事件 onkeyDown事件里面可以使用 keyCode获取键码 进行控制

js支付宝的支付金额输入框怎么做的

{this.removeEventListener('keyup', listenKeyUp, false);}, false);}/*** 监听键盘的敲击事件*/function listenKeyUp() {var beginBtn = document.querySelector('#beginBtn');if (!isNaN(this.value) &amp;&amp; this.value.length != ) {if (active &lt; ) {active += ;}inputBtn[active].f...

js键盘事件怎么用 js模拟键盘输入事件 js模拟键盘事件无效 jquery模拟键盘事件 js按下键盘事件 js键盘上下左右事件 js捕获键盘事件 js执行键盘事件吗 js键盘按下的事件名称
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
什么信用卡审核快 上海的地铁11号线北段2期是在哪里? 请问知道一个电话号码就可以去电信局把这个号码的电话记录和短信单子... 职工医疗保险交够多少年才能享受? 卷心菜炒粉条的家常做法是怎样的? 全世界所有的FPS网游 请问这是思科路由器里面ARP映射吗?(arp 10.16.252.210 3C07.7178... 主卧18平方,次卧18平方,客厅25个平方格力家用中央空调一拖三。连... 格力, 大金,三菱重工,三菱电机中央空调哪个好,家中客厅加餐厅50㎡,主... 客厅餐厅28平方,主卧14平方,次卧卧12平方,书房8平方,配什么系列的大金中... js如何才能模拟键盘按键? 用python脚本如何改变word中特定词的字体颜色? python操作word文档,用win32com,如何用python中的变量来命名word文档... 求助大神:如何用Python docx解析一个Word文档,在某些字段处插入文本或表... python如何读取word文件中的文本内容并写入到新的txt文件? Python如何将整个Word文档中的格式、段落、图标复制到另一个word文档... python怎么处理加密word文档 python 3.2 如何编辑 word文档(苹果的OS系统) python处理word文档 python 怎么实现在线编辑word文档 HP1020打印机加了HP1010的粉后打印出来是空白纸?! HP1020打印机的原装晒鼓最多可以加几次粉? 我的电脑是w7系统,安装程序时提示找不到路径 打开应用程序时提示文件丢失怎么回事? 惠普1020打印机硒鼓去哪里加粉? 电脑不能安装软件,提示什么缺失 安装软件总是提醒DLL文件丢失怎么办? HP Laserjet 1020plus打印机怎么连接到电脑上? 在电脑安装软件时,到后面出现找不到文件,安装不了,怎么解决 怎样添加hp1020打印驱动程序 js若何才能模拟键盘按键? javascript 模拟点击按钮? 怎样用 Javascript 模拟点击按钮执行搜索? js怎么才能模拟键盘按键 JS如何写点击一个按钮后模拟点击另外两个按钮? 我想问有什么办法可以实现用js模拟键盘按下空格? 怎么让JS模拟点击这个按钮 请教下,控制台中怎么用JS模拟点击按钮? js能模拟键盘输入么? 用js实现一个键盘怎么作 如何用js(javascript)拷屏或模似点击printscreen键? 如何用js模拟点击class样式的按钮 如何模拟点击网页上的一个javascript按钮 js模拟点击不了 vivo Y79a可以安装最新微信 vivox20微信更新不了新版本怎么办 密集架如何使用维护? 密集架主要应用与功能有哪些 密集架有哪些呢?该如何工作呢? 密集架的安装细节都有哪些?