جافاسكريبت - كيفية النقر عبر كائن FabricJS لتحديد الكائن الموجود تحته (بدون استخدام خاصية evented)
كيف تجعل كائن fabricjs "مغلقًا" بحيث:
- إنه غير قابل للاختيار (obj.selectable=false)
- يسمح بحدث 'mousedown' للنقرة اليمنى (يجب أن تكون obj.evented صحيحة)
- لا توجد حالة/حدث التمرير فوق (الفأرة لا تكتشف هذا الكائن عند التمرير فوقه أو تغير المؤشر)
- يسمح للفأرة بالنقر على الكائنات الموجودة تحته (يمكن للفأرة الوصول إلى الكائنات من خلاله)
حاولت البحث عن الكود الذي يتعامل مع الخاصية 'evented' لكنني لم أتمكن من العثور عليه في المصدر. الخاصية evented تجعل الكائن شفافًا (أي يمكن النقر من خلاله)، لكنها تزيل حدث 'mousedown'.
هذا مطلوب في حالتي حيث أحتاج إلى تنفيذ قائمة سياقية مع ميزة قفل/فتح الكائن. إذا كان الكائن مقفلاً، لا يزال عليك أن تكون قادرًا على النقر بزر الماوس الأيمن عليه لإظهار القائمة السياقية مرة أخرى حتى تتمكن من فتح قفله. أيضًا، عند القفل، تحتاج إلى أن تكون قادرًا على الوصول إلى الكائنات تحتها والنقر عليها.
Fabricjs 3.6.6
تعديل: قيل لي أن هذا غير ممكن بشكل مباشر باستخدام fabric ويجب كتابة بعض الأكواد المخصصة لإضافة هذه الميزة، وفقًا لما ورد في: https://github.com/fabricjs/fabric.js/issues/6734