2012-04-28 18 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