关于用jquery如何模拟执行键盘按键

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于用jquery如何模拟执行键盘按键相关的知识,希望对你有一定的参考价值。

<script type="text/javascript">
function keyUp(e)
var KeyID = 0, e = e || event;
var ev = document.all ? window.event : e;
KeyID = e.keyCode || e.which || e.charCode;
var keyName = String.fromCharCode(KeyID);
if (KeyID == 110)


document.onkeyup = keyUp;
</script>
我现在代码是这样,请问下,在if判断里面,我怎么写,才能自动执行键盘上面tab键一次。

参考技术A 你这那是jquery,这是原生JS代码阿,
你说的模拟执行键盘按键不太可能,可能需要SHELL
你可以换个思路,根据逻辑直接写function啊,
例如:你想执行tab,无非是更换focus,你直接让下一个dom获取onfocus追问

那我这种方法是不是不行哦?

追答

恩, 不行啊, 由于安全性,,,,

参考技术B 我举例一个jQuery模拟键盘事件

var e = jQuery.Event("keydown");
e.keyCode = 9; //9是键盘tab键
jQuery("对象").trigger(e);
参考技术C js是事件驱动的,你这里既然想要自动自行的话,就直接写在window.onload里面,如果你写在这里的话就需要按下键盘事件 参考技术D 不能实现你的这种要求,一般只有对应的F1-F12等
不知道你要tab操作实现的是什么效果,据我所知一般情况下tab键的作用是“使当前焦点自动指向下一个标签”,如果你是实现这个功能的话,不如直接用$().focus().select();设置焦点好了。
或者你把需求说一下,我看看怎么实现

不明白请追问,如果对你有帮助记得采纳~追问

就是在页面任何一个地方按“,”这个键,就会自动触发TAB键的效果,自动切换到下一个文本框

追答

任何地方?能再明确点吗?
比如:所谓的“下一个文本框”指的是哪个?因为你如果用鼠标点界面外面空白处的话,和你原本就选中一个文本框是不一样的。而且即便同样是鼠标点空白界面,但是不同的div,然后你按tab结果也不一样。
而且你这个需求也有问题,既然页面有文本框,那么就是可以输入文字等内容对吧。如果按","就会跳到下一个文本框的话,那么岂不是你当前页面的文本框输入内容“你好,我是你朋友”的时候,刚刚输入完“你好”,本来要输入",",结果因为你的控制,直接跳出去了,导致“逗号”在当前页面的所有的文本框永远不能输入

追问

恩,是呢,这个页面特殊,不需要输入点号的,因为是和IP页面有关系的,他们只能输入数字的
然后想着是按.就会自动切换到下一个文本框

追答

无语,那就根据你描述的来说吧,script代码如下:

$(document).ready(function()
$(window).keydown(function(event) //这个是你在页面按任意按钮的时候会触发该方法
var aa = event.which; //你按了键盘哪个按钮的对应keycode的值,其中逗号是188
//实现你要求代码部分
if(aa == 188) //当你按了逗号的时候触发下面的代码
alert('1');

);
);

不明白请追问,如果对你有帮助记得采纳~

追问

恩。。= = 我知道呢,我现在能判断出我是否按的是这个键呢,不过我需求是按键后,自动执行TAB键效果一次呢。就是if判断里面怎么去自动执行tab键的代码哦

追答

额,不好意思,没注意。。。下面代码就OK了,测试可用

$(document).ready(function()
$(window).keydown(function(event) //这个是你在页面按任意按钮的时候会触发该方法
var aa = event.which;
//实现你要求代码部分
if(aa == 188)
check();
document.onkeydown=null; //这里需要将onkeydown置空,不然默认一直是188

);
);
function check() //这个方法主要就是将你的按键手动设置为TAB
event.keyCode=9;
document.onkeydown=check;

追问

你Q Q多少哦?我加你q q说下吧,还是有点问题哦

追答

额,我在公司,这边限定了权限,不能上Q,只能浏览网页。。。

追问

恩。。=0=我这边执行你那边代码,没反应呢

追答

嗯,不过我代码应该没问题

本回答被提问者采纳

请用Python如何模拟键盘操作

求Python代码实现模拟键盘操作Ctrl+V,其它的按键也可以。

用pywin模块调用win32函数就可以了

import win32api
import win32con
win32api.keybd_event(17,0,0,0) #ctrl键位码是17
win32api.keybd_event(86,0,0,0) #v键位码是86
win32api.keybd_event(86,0,win32con.KEYEVENTF_KEYUP,0) #释放按键
win32api.keybd_event(17,0,win32con.KEYEVENTF_KEYUP,0)

附个键位码表:
字母和数字键 数字小键盘的键 功能键 其它键
键 键码 键 键码 键 键码 键 键码
A 65 0 96 F1 112 Backspace 8
B 66 1 97 F2 113 Tab 9
C 67 2 98 F3 114 Clear 12
D 68 3 99 F4 115 Enter 13
E 69 4 100 F5 116 Shift 16
F 70 5 101 F6 117 Control 17
G 71 6 102 F7 118 Alt 18
H 72 7 103 F8 119 Caps Lock 20
I 73 8 104 F9 120 Esc 27
J 74 9 105 F10 121 Spacebar 32
K 75 * 106 F11 122 Page Up 33
L 76 + 107 F12 123 Page Down 34
M 77 Enter 108 -- -- End 35
N 78 - 109 -- -- Home 36
O 79 . 110 -- -- Left Arrow 37
P 80 / 111 -- -- Up Arrow 38
Q 81 -- -- -- -- Right Arrow 39
R 82 -- -- -- -- Down Arrow 40
S 83 -- -- -- -- Insert 45
T 84 -- -- -- -- Delete 46
U 85 -- -- -- -- Help 47
V 86 -- -- -- -- Num Lock 144
W 87
X 88
Y 89
Z 90
0 48
1 49
2 50
3 51
4 52
5 53
6 54
7 55
8 56
9 57
参考技术A 使用SendKeys模块然后
import SendKeys
SendKeys.SendKeys("^V")
参考技术B 使用 pyhook 可以捕捉键盘和鼠标事件

以上是关于关于用jquery如何模拟执行键盘按键的主要内容,如果未能解决你的问题,请参考以下文章

模拟按键控制游戏Python问题,怎么解决

如何用js或jquery实现点击事件触发键盘

delphi7实现模拟键盘按键,比如按下v键,数字0,回车等

python怎么编是不是按键

如何在 Qt 应用程序中生成按键事件到系统(win7)(模拟用户在键盘上按键)?

python 模拟windows键盘按键的封装