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

时间:2014-04-18 08:51:32

标签: javascript jquery

我想触发ctrl+0以重置浏览器缩放。如果我手动执行并按ctrl+0,则会重置浏览器缩放。

以下是我尝试过的代码:

$('#test').click(function() {
         e = $.Event("keypress");
         e.which = 48;
         e.ctrlKey = true;
         $(window).trigger(e);

        });  

但它不起作用。我试图在$(document)上触发事件,但仍然没有成功。

知道我该怎么做?

3 个答案:

答案 0 :(得分:1)

它不起作用,因为ctrl+0组合键首先由浏览器解释,而不是发送到事件循环。 如果以程序方式触发它,它将直接进入事件循环。

在css中有一个zoom属性。

你可能做的是:

  • 使用描述here的方法来检测浏览器缩放级别
  • 设置zoom属性以补偿浏览器缩放。

这样,如果用户缩放120%,则从css zoom设置80%。


无论如何,我建议反对它,因为99%的时间,用户想要/需要缩放。

更好的方法是使用em单位,百分比值以及media-queryes

,即使在缩放时也可以让您的网站看起来更好

答案 1 :(得分:-1)

$(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);

答案 2 :(得分:-1)

相信我,最好的方法是使用任务调度程序来触发提到的.vbs http://www.computerhope.com/forum/index.php?topic=76100.0

要在浏览器中重置缩放,请使用以下vbs

Set objShell = CreateObject("WScript.Shell")
objShell.SendKeys "^0"