使用css zoom属性时,鼠标坐标错误

时间:2018-03-06 09:48:57

标签: css calendar slider zoom

当我使用css zoom属性时,除了两个元素外,鼠标坐标都是正确的:http://seiyria.com/bootstrap-slider/& https://fullcalendar.io

我们如何解决这个问题? 提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

对于fullcalendar.io,我在Github上找到了一个解决方案,有必要编辑fullcalendar.js文件的两个函数:

function getEvX(ev) {
    if (ev.pageX !== undefined) {
        return ev.pageX / Number($('body').css('zoom'));
    }
    var touches = ev.originalEvent.touches;
    if (touches) {
        return touches[0].pageX / Number($('body').css('zoom'));
    }
}


function getEvY(ev) {
    if (ev.pageY !== undefined) {
        return ev.pageY / Number($('body').css('zoom'));
    }
    var touches = ev.originalEvent.touches;
    if (touches) {
        return touches[0].pageY / Number($('body').css('zoom'));
    }
}

对于bootstrap滑块,这是解决方案:

var valeurZoom =  window.getComputedStyle(document.body, null).getPropertyValue('zoom');

if (valeurZoom !== "" && valeurZoom !== 1) { 
    eventPosition = eventPosition / valeurZoom;
}

希望它可以帮助其他人!