我已經編寫了一些東西:如何觸發組合鍵與jQuery
http://fincha.com/kunden/schmitt/
我放大用的.css(「縮放」),但我需要的按鈕,以模擬CTRL +或CTRL -
此代碼是不是爲我工作:
e = jQuery.Event("keydown");
e.which = 50;
$("input").trigger(e);
請幫幫忙!
編輯
我只是慣於zoomin和縮小(ZoomOut)孔頁
我已經編寫了一些東西:如何觸發組合鍵與jQuery
http://fincha.com/kunden/schmitt/
我放大用的.css(「縮放」),但我需要的按鈕,以模擬CTRL +或CTRL -
此代碼是不是爲我工作:
e = jQuery.Event("keydown");
e.which = 50;
$("input").trigger(e);
請幫幫忙!
編輯
我只是慣於zoomin和縮小(ZoomOut)孔頁
jQuery通過在event
對象上設置一個或多個屬性來標準化事件的修飾鍵。所以,你要設置event.ctrlKey
到true
,所以這應該爲你工作:在源(下面的鏈接)
e = jQuery.Event("keydown");
e.which = 50;
e.ctrlKey = true;
$("input").trigger(e);
然而,由於每一個註釋:
你不能輕易改變的值事件對象(可能出於安全原因)。
因此,如果您無法構建Event
對象之後,再設置事件的屬性,那麼你可以$.extend()
它設置ctrlKey
屬性:
e = jQuery.Event("keydown");
fake = $.extend({}, e, {which: 50, ctrlKey: true});
$("input").trigger(fake);
一件事:我我不確定你是否試圖使用密鑰50
作爲+或-密鑰。也許你是,而你正在使用不同的鍵盤佈局,但根據this demo,50
是觸擊的JavaScript關鍵代碼 - 因此這也可能是您問題的一部分。
來源:comments on a jQuery API page。
編輯:
這一切不談,我不認爲你可以實際上改變使用JavaScript,即使你「送」的鍵盤命令做瀏覽器的縮放級別所以。
來源:http://www.scottklarr.com/topic/126/how-to-create-ctrl-key-shortcuts-in-javascript/
var isCtrl = false;
$(document).keyup(function (e) {
if(e.which == 17) isCtrl=false;
}).keydown(function (e) {
if(e.which == 17) isCtrl=true;
if(e.which == 83 && isCtrl == true) {
//run code for CTRL+S -- ie, save!
return false;
}
});
這是按Ctrl + S,但你應該能夠很容易地修改它。
這不是我不喜歡的。我需要通過點擊鏈接來模擬CTRL + – 2010-10-08 18:53:23
哦!對不起,我誤解了這個問題! – Stephen 2010-10-08 18:54:29
我意識到這不是一個很好的答案,但我需要這個確切的解決方案來解決我自己的問題,所以謝謝! – 2011-06-02 07:01:47
感謝您的回覆,您沒錯,沒有辦法面對這樣的熱鍵 – 2010-10-11 20:02:37