Если все, что вам нужно, это просто выбрать объект на основе (x,y)
(т.е. фактически не обрабатывать перетаскивания, изменения размера и т. Д.), Существует fabric.Canvas.prototype._searchPossibleTargets()
, который Fabric.js использует для внутреннего использования:
const pointer = {x: x, y: y}
const target = canvas._searchPossibleTargets(canvas.getObjects(), pointer)
if (target) {
canvas.setActiveObject(target).requestRenderAll()
} else {
canvas.discardActiveObject().requestRenderAll()
}
Обратите внимание, что, поскольку это внутренний метод, его подпись может меняться от версии к версии.