javascript - როგორ დააწკაპუნოთ fabricjs ობიექტზე, რათა აირჩიოთ ქვეშ არსებული ობიექტი (თქვენი evented თვისების გამოყენების გარეშე)


როგორ გააკეთოთ fabricjs ობიექტი „დაბლოკილი“, ისე რომ:

  1. ეს არ არის არჩევადი (obj.selectable=false)
  2. ჩართავს 'mousedown' მოვლენას მარჯვენა კლიკისთვის (obj.evented უნდა იყოს true)
  3. არ postoji hover მდგომარეობა/მოვლენა (მოუსი ვერ აღიქვამს ამ ობიექტს hover-ის დროს ან არ იცვლის კურსორს)
  4. საშუალებას აძლევს მაუსს დააწკაპუნოს მის ქვეშ არსებულ ობიექტებზე (მაუსის საშუალებით შეუძლია ობიექტებზე წვდომა)

მე ვცადე მეძება კოდი, რომელიც დაკავებულია 'evented' თვისებით, მაგრამ ვერ ვნახე ის წყაროში. evented თვისება მართლაც ხდის ობიექტს გამჭვირვალეს (სიგნალების გავლად შესასვლელი), მაგრამ წაშლის 'mousedown' მოვლენას.

ეს საჭირო ხდება ჩემს სიტუაციაში, სადაც მე მჭირდება კონტექსტური მენიუს განხორციელება ობიექტის ბლოკირებისა და გახსნის ფუნქციით. თუ ობიექტი დაბლოკილია, თქვენ ჯერ კიდევ უნდა გქონდეთ შესაძლებლობა დააკლიკოთ მასზე მარჯვენა ღილაკით, რათა კვლავ გამოჩნდეს კონტექსტური მენიუ და შეძლოთ მისი გახსნა. ასევე, დაბლოკვის დროს, თქვენ უნდა შეგეძლოთ ობიექტების ხელმისაწვდომობა და დააჭიროთ მათ, რომლებიც მის ქვეშ არის.

Fabricjs 3.6.6

რედაქტირება: მითხრეს, რომ ეს fabric-ის სტანდარტული ფუნქციონალით შეუძლებელი არის და საჭიროა სარკინიგზო კოდის დაწერა ამ შესაძლებლობის დამატებისთვის, როგორიცაა: https://github.com/fabricjs/fabric.js/issues/6734