我正在fabric.js中加载一个图像,并试图使用此链接将pan功能添加到映像中。然而,它在Firefox、Chrome中工作得很好,但在IE中却不起作用(它只是呈现图像)。
下面是代码:
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的问题还是我遗漏了什么?
发布于 2016-11-01 07:34:17
好的,在@Infer代码的帮助下,我得到了答案:
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;
});https://stackoverflow.com/questions/40355425
复制相似问题