У меня есть холст Fabric.js, и я хочу реализовать полномасштабное панорамирование, которое пакеты программного обеспечения обычно выполняют с помощью "ручного" инструмента. Это когда вы нажимаете одну из кнопок мыши, затем перемещайтесь по холсту, удерживая кнопку мыши, и видимая часть холста изменяется соответственно.
Вы можете видеть в этом видео, чего я хочу достичь.
Чтобы реализовать эту функциональность, я написал следующий код:
$(canvas.wrapperEl).on('mousemove', function(evt) {
if (evt.button == 2) { // 2 is the right mouse button
canvas.absolutePan({
x: evt.clientX,
y: evt.clientY
});
}
});
Но это не сработает. Вы можете видеть в этом видео, что происходит.
Как изменить код в следующем порядке:
-
Для панорамирования для работы, как в первом видео?
-
Чтобы обработчик события использовал событие? Он должен помешать появлению контекстного меню, когда пользователь нажимает или отпускает правую кнопку мыши.