Búsqueda de sitios web

javascript - Cómo hacer clic a través de un objeto de fabricjs para seleccionar el objeto que está debajo (sin usar la propiedad evented)


¿Cómo haces que un objeto de fabricjs esté "bloqueado" de manera que:

  1. No es seleccionable (obj.selectable=false)
  2. Permite el evento 'mousedown' para clic derecho (obj.evented debe ser verdadero)
  3. Sin estado/evento de desplazamiento (el ratón no detecta este objeto al pasar sobre él ni cambia el cursor)
  4. Permite que el ratón haga clic en los objetos debajo de él (el ratón puede acceder a los objetos a través de él)

Intenté buscar el código que maneja la propiedad 'evented', pero no pude encontrarlo en el código fuente. La propiedad evented sí hace que el objeto sea transparente (es decir, que se pueda hacer clic a través de él), pero elimina el evento 'mousedown'.

Esto es necesario en mi situación, donde necesito implementar un menú contextual con la función de bloquear/desbloquear objeto. Si el objeto está bloqueado, aún necesitas poder hacer clic derecho sobre él para mostrar el menú contextual nuevamente y poder desbloquearlo. Además, cuando está bloqueado, necesitas poder acceder y hacer clic en los objetos que estén debajo de él.

Fabricjs 3.6.6

Editar: Me dicen que esto no es posible de forma predeterminada con Fabric y que se debe escribir código personalizado para agregar esta capacidad, según: https://github.com/fabricjs/fabric.js/issues/6734