首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FabricJS并没有给我movementX和movementY在IE中平移图像的能力,但是它在其他浏览器中工作得很好。

FabricJS并没有给我movementX和movementY在IE中平移图像的能力,但是它在其他浏览器中工作得很好。
EN

Stack Overflow用户
提问于 2016-11-01 07:01:07
回答 1查看 586关注 0票数 1

我正在fabric.js中加载一个图像,并试图使用此链接将pan功能添加到映像中。然而,它在Firefox、Chrome中工作得很好,但在IE中却不起作用(它只是呈现图像)。

下面是代码:

代码语言:javascript
复制
var panImg = function () {
        var panning = false;
        canvas.on('mouse:up', function (e) {
            panning = false;
        });
        canvas.on('mouse:out', function (e) {
            panning = false;
        });
        canvas.on('mouse:down', function (e) {
            panning = true;
        });
        canvas.on('mouse:move', function(e) {
            if (panning && e && e.e) {
                console.log(e.e.movementX);
                var delta = new fabric.Point(e.e.movementX, e.e.movementY);
                canvas.relativePan(delta);
            }
        });
    }

如果我调试,我看到的是e.e.movementX在FF和Chrome的情况下给出了适当的值,但是在IE的情况下它给出了undefined。这是Fabric.js的问题还是我遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-01 07:34:17

好的,在@Infer代码的帮助下,我得到了答案:

代码语言:javascript
复制
canvas.on('mouse:move', function(e) {
            if (panning && e && e.e) {
                var x = e.e.movementX;
                var y = e.e.movementY;
                if(!x) {
                    x = e.e.screenX - previousEvent.e.screenX;
                    y = e.e.screenY - previousEvent.e.screenY;
                }
                var delta = new fabric.Point(x, y);
                canvas.relativePan(delta);
            }
            previousEvent = e;
        });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40355425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档