javascript - איך ללחוץ דרך אובייקט של fabricjs כדי לבחור אובייקט שמתחתיו (בלי להשתמש בתכונת evented)


איך גורמים לאובייקט fabricjs להיות "נעול" כך ש:

  1. זה לא ניתן לבחירה (obj.selectable=false)
  2. מאפשר את אירוע 'mousedown' ללחיצה ימנית (obj.evented חייב להיות נכון)
  3. אין מצב/אירוע ריחוף (העכבר לא מזהה את האובייקט הזה בעת ריחוף או משנה את הסמן)
  4. מאפשר לעכבר ללחוץ על אובייקטים שמתחתיו (העכבר יכול לגשת לאובייקטים דרכו)

ניסיתי לחפש את הקוד שמטפל בתכונה 'evented' אך לא הצלחתי למצוא אותו בקוד המקור. התכונה evented אכן גורמת לאובייקט להיות שקוף (כלומר, ניתן ללחוץ דרכו), אך מסירה את האירוע 'mousedown'.

זה נדרש במצב שלי שבו אני צריך לממש תפריט הקשר עם תכונת נעילה/פתיחה של אובייקט. אם האובייקט נעול, עדיין צריך להיות אפשרי ללחוץ עליו עם לחצן ימני כדי להציג את תפריט ההקשר שוב כך שניתן לפתוח אותו. בנוסף, כאשר האובייקט נעול, צריך להיות אפשרי לגשת וללחוץ על האובייקטים שמתחתיו.

Fabricjs 3.6.6

עריכה: נאמר לי שזה לא אפשרי ישירות עם Fabric ויש לכתוב קוד מותאם כדי להוסיף את היכולת הזו, כפי שמתואר ב: https://github.com/fabricjs/fabric.js/issues/6734