FabricJS Canvas, прокрутка родительского контейнера перемещает дочернюю область попадания - PullRequest
2 голосов
/ 27 февраля 2012

Я использую FabricJS для создания приложения.Я обнаружил, что прокрутка родительского элемента div / контейнера смещает область выбора объекта вправо в прямой зависимости от суммы прокрутки.

Итак, если у меня есть холст размером 1200x600 и контейнерный элемент 600x600и я добавляю прямоугольник к этому холсту на 400, 120;когда я прокручиваю 200px, я не могу щелкнуть по прямоугольнику, чтобы выбрать его.Скорее, мне нужно переместить мою мышь на 600, 120 (пустое место), чтобы получить перемычку и выбрать прямоугольник.

Не уверен, известно ли это или есть обходной путь - но я был бы признателен за любыепомощь возможна.

1 Ответ

2 голосов
/ 12 апреля 2012

Вам придется изменить код FabricJs, чтобы он работал.Проблема заключается в функции getPointer, если вы ищете ее в all.js, вы заметите комментарий «kangax для исправления этого метода».

Обходной путь может заменить эту функцию на

function getPointer(event) {
    // TODO (kangax): this method needs fixing
    return { x: pointerX(event) + document.getElementById("container").scrollLeft, y: pointerY(event) + document.getElementById("container").scrollTop };
}

где «контейнер» - это div-оболочка вашего холста.Это нехорошо, так как вы должны поставить точный идентификатор, но это работает.

Надеюсь, это поможет.

...