4

可能重复:
如何在所有现代浏览器中检测页面缩放级别?

var obj=document.body;  // obj=element for example body
// bind mousewheel event on the mouseWheel function
if(obj.addEventListener)
{
    obj.addEventListener('DOMMouseScroll',mouseWheel,false);
    obj.addEventListener("mousewheel",mouseWheel,false);
}
else obj.onmousewheel=mouseWheel;

function mouseWheel(e)
{
    // disabling
    e=e?e:window.event;
    if(e.ctrlKey)
    {
        if(e.preventDefault) e.preventDefault();
        else e.returnValue=false;
        return false;
    }
}

我正在开发一个网络应用程序,如果用户放大/缩小,所有 ui 元素的顺序都不会正确。那么,有没有什么办法可以预防呢?我已经想到了一些方法来做到这一点,但有可能吗?

1)获取用户的屏幕分辨率。当窗口大小发生变化(宽度或高度)时,将窗口宽度/高度返回到屏幕宽度/高度。

2) 将鼠标滚动事件或键盘事件绑定为空。(参考上面的演示代码),但是如果用户点击浏览器并选择放大怎么办?

谢谢

4

1 回答 1

9
    var zoomlevel=1;

    $("body").dblclick(function(ev) {
        zoomlevel = zoomlevel == 1 ? 2 : 1;



        $(this).css({
            "-moz-transform":"scale("+zoomlevel+")",
            "-webkit-transform":"scale("+zoomlevel+")",
            "-o-transform":"scale("+zoomlevel+")",
            "-ms-transform":"scale("+zoomlevel+")"
        });


    });
于 2012-12-27T08:28:52.993 回答