触发键盘按下以重置浏览器缩放

trigger keyboard presses to reset browser zoom

本文关键字:浏览器 缩放 键盘      更新时间:2023-09-26

我想触发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"