Я пытаюсь связать событие с фоновым изображением:fabric.js: связать событие с фоновым изображением
var imgInstance = fabric.Image.fromURL(path, function(oImg) {
oImg.on("selected", function() {
alert();
});
canvas.setBackgroundImage(oImg, canvas.renderAll.bind(canvas), {
top: 0,
left: 0
});
oImg.on("selected", function() {
alert();
});
});
я могу заставить его работать. Я пытаюсь связать события мыши с обработкой перетаскивания, поэтому я могу перемещать изображение, когда оно больше холста, например, свойство css background-cover.
Мысли?
Спасибо, ребята!
РЕШЕНИЕ:
var DragStart = false;
canvas.on('mouse:down', function(options) {
if (!options.target) {
DragStart = true;
}else {
DragStart = false;
}
});
canvas.on('mouse:move', function(options) {
if (DragStart) {
var bounds = getBounds(options.e); // validate boundaries between image and canvas
canvas.backgroundImage.top = bounds.y;
canvas.backgroundImage.left = bounds.x;
canvas.renderAll();
}
});
Благодаря @tefanHayden, это подход, который я использовал, но я думаю, что, может быть, есть лучшее решение, но это кажется, что это так. Я могу получить логику drag & move работает отлично! Благодаря!! – mauriblint