我搜索并发现我可以使用jQuery模拟一个按键事件,但是我对jQuery的了解很少,而且我没有得到具体的结果.
所以我有一个Greasemonkey脚本,它在2个标签中管理2个不同的网页.
我想模拟/自动执行CtrlShiftTab以自动返回上一个选项卡,这样我就可以在Firefox中更改选项卡.
问题是它不仅是一个简单的按键,我还需要模拟一个Ctrl和Shift部分.
我已将此添加到我的脚本中:
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
并试过:
function testEvents(){
var press = jQuery.Event("keypress");
press.which = 9;
$("whatever").trigger(press.ctrlKey + press.shiftKey + press.which);
}
没有成功.
我见过的一些链接:
Is it possible to simulate key press events programmatically?,
simulate jquery和http://forum.jquery.com/topic/simulating-keypress-events
解决方法:
JavaScript不能用于通过模拟“快捷方式”键事件来触发默认行为.
由于jQuery只是编写JavaScript代码的一种不同方式,因此限制也适用.
而且,由于Greasemonkey脚本基于JavaScript,除了GM_ *方法之外没有额外的功能,因此无法编写切换选项卡的用户脚本.