关于用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键一次。
你说的模拟执行键盘按键不太可能,可能需要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如何模拟执行键盘按键的主要内容,如果未能解决你的问题,请参考以下文章
delphi7实现模拟键盘按键,比如按下v键,数字0,回车等