JS模拟键盘事件 -- 原理及小例子

小例子:

(Chrome下可用,其他浏览器未测试,使用新方法,暂不考虑兼容性)

代码如下:

 1 <input type="button" tabindex="-1" value="点点点点点" id="btn">
 2 <input type="text" placeholder="1">
 3 <input type="text" placeholder="2">
 4 <input type="text" placeholder="3">
 5 <input type="text" placeholder="4">
 6 <input type="text" placeholder="5">
 7 <input type="text" placeholder="6">
 8 <script>
 9 var nowEle=document;
10 var inputs=[].slice.call(document.querySelectorAll("[type=text]"));
11 inputs.forEach(function(el,i){
12     el.onfocus=function(){
13         nowEle=this;
14     };
15     /*el.onblur=function(){
16         setTimeout(function() {
17             nowEle=document;
18         }, 0);
19     };*/
20 });
21 btn.onclick=function(ev){
22     // console.log(nowEle);
23     var e=document.createEvent("KeyboardEvents");
24     e.initKeyboardEvent("keydown",true,true,window,"U+0009"); // tab
25     if(nowEle==inputs[inputs.length-1])nowEle=document;
26     nowEle.focus && nowEle.focus();
27     nowEle.dispatchEvent(e);
28     // console.log(e);
29 };
30 document.onkeydown=function(ev){
31     // console.log(ev.keyCode,ev.which,ev);
32 };
33 document.addEventListener("click",function(ev){
34     for (var i = 0; i < inputs.length; i++) {
35         if(inputs[i]==ev.target || btn==ev.target)return;
36     };
37     nowEle=document;
38 },false);
39 </script>

先点着试试。

JS模拟键盘事件 -- 原理及小例子

时间: 2024-08-05 06:38:00

JS模拟键盘事件 -- 原理及小例子的相关文章

Js屏蔽键盘事件

<script>           function KeyDown(){ //屏蔽鼠标右键.Ctrl+n.shift+F10.F5刷新.退格键            //alert("ASCII代码是:"+event.keyCode);            if ( (window.event.altKey)&&            (  (window.event.keyCode==37)|| //屏蔽 Alt+ 方向键 ←            

输入法切换小程序(js模拟键盘按键输入成功版)

花了半天时间写了个小程序,基本满足最初需求(但目前只支持IE浏览器). 需求: 在输入汉字的时候没有切换出中文输入法而导致输入了拼音,我们要做的是:将输入的拼音删除并且切换出中文输入法,重新自动在输入法中打出相应的字母. 我的电脑上默认只有两个输入法,中文输入法和美式键盘,所以模拟出”ctrl+空格键“即可在两个输入法之间进行切换. 做的过程和想法: 最初想的是使用网页配合js来做,毕竟界面好做一些.首先想到的就是用js来模拟键盘的输入,想法很好,但是却很难,主要是因为浏览器为了考虑安全性,所以

使用jquery模拟键盘事件,但window系统并不会真的响应事件,只是浏览器当前页面会响应而已

<!DOCTYPE html> <html> <head> <title>Demo</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <script type="text/javascript" src="jquery.min.js"><

[原创]Javascript 利用mousetrap.js进行键盘事件操作

我们日常开发中,会遇到js的键盘操作,例如回车提交表单之类的.或者按下某个键执行某个方法.无意中发现一个大小不到4K的js文件,它非常方便的操作键盘事件. 自己也尝试了一下:具体代码如下: 详情可以去其逛网查看其API并下载,地址:http://craig.is/killing/mice <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/

JS获取键盘事件

<script type="text/javascript" language=JavaScript charset="UTF-8"> document.onkeydown=function(event){ var e = event || window.event || arguments.callee.caller.arguments[0]; if(e && e.keyCode==27){ // 按 Esc //要做的事情 } if(

C#模拟键盘事件

转自:http://www.cnblogs.com/tianguook/archive/2010/07/06/1772438.html public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        } [DllImport("USER32.DLL")]        public static extern IntPtr Fin

几个常用的JS鼠标键盘事件例子

首先普及一下鼠标左右键值的相关方法: 1.event.x 鼠标横轴  2.event.y 鼠标纵轴  3.event.keycode 键盘值  4.events.button==0 默认.没有按任何按钮.  5.events.button==1 鼠标左键  6.events.button==2 鼠标右键  7.events.button==3 鼠标左右键同时按下  8.events.button==4 鼠标中键  9.events.button==5 鼠标左键和中键同时按下  10.events

js模拟键盘按键事件

1 var WshShell = new ActiveXObject('WScript.Shell') 2 WshShell.SendKeys('{ }'); 说明:大括号内的是键盘上的按键如: 空格:{ } A:{A}

js模拟键盘按下事件

var btn = document.getElementById("myBtn"); var event = document.createEventObject(); event.screenX = 100; event.screenY = 0; event.clientX = 0; event.clientY = 0; event.ctrlKey = false; event.altKey = false; event.shiftKey = false; event.button