2012-04-28 19 views
4

我搜索了一下,发现我可以使用jQuery来模拟一个按键事件,但是我对jQuery的知识很差,而且我也没有得到具体的结果。有一个脚本模拟一个控件,按键序列?

因此,我有一个Greasemonkey脚本,它管理2个选项卡中的2个不同的网页。
我想模拟/自动执行按Ctrl标签自动返回到上一个标签,这样我可以在Firefox中更改选项卡。

的问题是,它不仅是一个简单的按键,我需要模拟按Ctrl部分了。

我已经添加到了我的脚本:

// @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 jqueryhttp://forum.jquery.com/topic/simulating-keypress-events

+0

我认为他们的方式发送到网页,而不是浏览器 – Cilvic 2012-04-28 19:45:38

回答

1

JavaScript不能被用来通过模拟“捷径”关键事件触发默认行为。

由于jQuery只是写JavaScript代码的一种不同方式,所以限制也适用。
而且,由于Greasemonkey脚本基于JavaScript,除了GM_*方法外没有其他功能,因此无法编写切换选项卡的用户脚本。

+0

谢谢罗布,我通过它可以做到。 – Comentarist 2012-04-28 20:33:51

+0

那么'GM_ *'方法允许这么做? – Tom 2014-01-04 14:30:54

+0

@汤姆无。阅读句子为“gm脚本除了'GM_ *'方法之外没有其他功能”,“因此不可能编写用户脚本来切换标签”。 – 2014-01-04 17:41:41