我已经编写了一些东西:如何触发组合键与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