我想触发ctrl+0
以重置浏览器缩放。如果手动操作并按ctrl+0
,则会重置浏览器缩放。
这是我尝试过的代码:
$('#test').click(function() {
e = $.Event("keypress");
e.which = 48;
e.ctrlKey = true;
$(window).trigger(e);
});
但它不起作用。我也尝试在$(document)
上触发事件,但仍然没有成功。
知道我该怎么做吗?
它不起作用,因为ctrl+0
组合键首先由浏览器解释,然后发送到事件循环。如果您以编程方式触发它,它将直接进入事件循环。
在css中有一个zoom
属性。
你可能会做的是:
- 使用此处描述的方法来检测浏览器缩放级别
- 设置
zoom
属性以补偿浏览器缩放
这样,如果用户的缩放比例为120%,则可以从css zoom
设置为80%。
无论如何,我建议不要这样做,因为99%的时候,用户想要/需要缩放。
更好的做法是,通过使用em
单位、百分比值以及media-queryes
,即使在缩放时也能让你的网站看起来很好
$(document).bind('keydown', function (e) {
if (e.ctrlKey && e.which == 48) {
// your code here..
}
});
// if you wanna to resize (zoom in/out window)?
// your code goes here
$(window).resizeTo(w, H);
// if you wanna to set zoom attr?
// your code goes here
$('whatever').css('zoom', value);
相信我,最好的方法是使用任务调度程序来触发中提到的.vbshttp://www.computerhope.com/forum/index.php?topic=76100.0
要在浏览器中重置缩放,请使用以下vbs
Set objShell = CreateObject("WScript.Shell")
objShell.SendKeys "^0"