关于用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键一次。

第1个回答  推荐于2017-11-25
你这那是jquery,这是原生JS代码阿,
你说的模拟执行键盘按键不太可能,可能需要SHELL
你可以换个思路,根据逻辑直接写function啊,
例如:你想执行tab,无非是更换focus,你直接让下一个dom获取onfocus追问

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

追答

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

本回答被网友采纳
第2个回答  2014-02-17
我举例一个jQuery模拟键盘事件

var e = jQuery.Event("keydown");
e.keyCode = 9; //9是键盘tab键
jQuery("对象").trigger(e);
第3个回答  2014-02-17
js是事件驱动的,你这里既然想要自动自行的话,就直接写在window.onload里面,如果你写在这里的话就需要按下键盘事件
第4个回答  2014-02-17
不能实现你的这种要求,一般只有对应的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=我这边执行你那边代码,没反应呢

追答

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

本回答被提问者采纳
相似回答