jQuery documentation 表示 offset() 状态:



但是,有没有一种方法可以在使用扩展放大页面内容时在触摸环境中的浏览器中计算正确的偏移量?

我创建了一个小示例来演示该问题:https://jsfiddle.net/dhykgsmp/4/(在 Chrome 中打开)。请向下滚动并单击放大。自动完成输入的偏移量错误。

谢谢你。

最佳答案

我遇到了同样的问题并找到了解决方法。
你需要一个零偏移的根子元素来完成这项工作。

$.fn.oldOffset = $.fn.offset;
$.fn.offset = function () {

    var c = $.fn.oldOffset.apply(this, arguments);

    // root child element with zero offset
    var wrc = $('body').children().first().oldOffset();

    var needToFix = wrc.left > 0 || wrc.top > 0;
    if (needToFix) {
        return {
            left: c.left - wrc.left,
            top: c.top - wrc.top
        };
    } else {
        return c;
    }
}

关于javascript - 缩放元素的 offset(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34337899/

10-13 04:33