Javascript 触发多个按键以刺激键盘快捷键jquery
我想通过jQuery根据键盘快捷键创建页面缩放。主要是,当用户单击页面上的某个元素时,我想用Javascript 触发多个按键以刺激键盘快捷键jquery,javascript,jquery,keypress,Javascript,Jquery,Keypress,我想通过jQuery根据键盘快捷键创建页面缩放。主要是,当用户单击页面上的某个元素时,我想用+和Ctrl键对触发Ctrl。我试过这个问题中的代码片段,但它不起作用-它不能缩放页面 $("#zoom").click(function() { var e = $.Event("keydown"); e.which = 61; // # key code for + e.ctrlKey = true; $(document).trigger(e); }); 你可以
+
和Ctrl
键对触发Ctrl
。我试过这个问题中的代码片段,但它不起作用-它不能缩放页面
$("#zoom").click(function() {
var e = $.Event("keydown");
e.which = 61; // # key code for +
e.ctrlKey = true;
$(document).trigger(e);
});
你可以用这个图书馆。有很多例子
根据我的研究,您的事件触发器似乎工作正常 Javascript:
jQuery(function($) {
var currentZoom = 1,
minZoom = 0,
maxZoom = 2,
changeZoom = function(increase) {
var newZoom = currentZoom;
if (increase && currentZoom < maxZoom) {
newZoom++;
$('.text-zoom-' + currentZoom)
.addClass('.text-zoom-' + newZoom)
.removeClass('.text-zoom-' + currentZoom);
} else if (currentZoom > minZoom) {
newZoom--;
$('.text-zoom-' + currentZoom)
.addClass('.text-zoom-' + newZoom)
.removeClass('.text-zoom-' + currentZoom);
}
currentZoom = newZoom;
};
$('.zoomIn').click(function(e) {
changeZoom(true);
});
$('.zoomOut').click(function(e) {
changeZoom(false);
});
});
jQuery(函数($){
var currentZoom=1,
最小缩放=0,
maxZoom=2,
changeZoom=功能(增加){
var newZoom=currentZoom;
如果(增加和当前缩放<最大缩放){
newZoom++;
$('.text zoom-'+currentZoom)
.addClass('.text zoom-'+newZoom)
.removeClass('.text zoom-'+currentZoom);
}else if(当前缩放>最小缩放){
新缩放--;
$('.text zoom-'+currentZoom)
.addClass('.text zoom-'+newZoom)
.removeClass('.text zoom-'+currentZoom);
}
currentZoom=newZoom;
};
$('.zoomIn')。单击(函数(e){
更改缩放(真);
});
$('.zoomOut')。单击(函数(e){
更改缩放(假);
});
});
当然,对于图像、导航和页面上的所有其他元素,您也必须这样做。如果你真的想这样做,你可以比这个小片段更聪明地处理CSS,但是记住,可能和想象中的应该不一样…他正试图做相反的事情。@Kelvin Mackay它看起来不错,但实际上并不像点击ctrl+=那样放大。至少在这方面。你能想象如果一个随机的、不受信任的网站会扰乱你的显示设置,会有多混乱吗?是的,它可以工作,我的意思是没有错误或smth,但它不能按我的意愿缩放页面achieve@Davo正如我所说,控制浏览器的本机缩放是不可能的。如果希望使用CSS和Javascript,可以实现自己的缩放功能。
.text-zoom-0{
font-size: .75em;
}
.text-zoom-1{
font-size: 1em;
}
.text-zoom-2{
font-size: 1.25em;
}
jQuery(function($) {
var currentZoom = 1,
minZoom = 0,
maxZoom = 2,
changeZoom = function(increase) {
var newZoom = currentZoom;
if (increase && currentZoom < maxZoom) {
newZoom++;
$('.text-zoom-' + currentZoom)
.addClass('.text-zoom-' + newZoom)
.removeClass('.text-zoom-' + currentZoom);
} else if (currentZoom > minZoom) {
newZoom--;
$('.text-zoom-' + currentZoom)
.addClass('.text-zoom-' + newZoom)
.removeClass('.text-zoom-' + currentZoom);
}
currentZoom = newZoom;
};
$('.zoomIn').click(function(e) {
changeZoom(true);
});
$('.zoomOut').click(function(e) {
changeZoom(false);
});
});