使用处理程序事件获取鼠标坐标在FireFox中不起作用

时间:2019-02-20 12:36:19

标签: events mouseevent mouselistener

我在较大页面过渡功能的中间触发了一个处理函数。这样可以获取鼠标位置,并将我的mask div移动到单击鼠标的位置。

function handler(e) {
    e = e || window.event;

    let pageX = e.pageX;
    let pageY = e.pageY;

    // IE 8
    if (pageX === undefined) {
        pageX = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
        pageY = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
    }

    $mask.css({
        'top': pageY - $(window).scrollTop(),
        'left': pageX
    })
}

这在Opera,Chrome,Safari和iOS(尽管略有关闭)中非常有效。但是在Firefox中,出现以下错误:

Unhandled promise rejection TypeError: "e is undefined"

使用简单的handler()调用处理程序功能,该功能在页面过渡功能内。

我尝试将其更改为使用我触发的CustomEvent,但它没有任何鼠标属性。

0 个答案:

没有答案