javascript - fabricjs nesnesine tıklayarak altındaki nesneyi nasıl seçebilirim (evented özelliğini kullanmadan)


Bir fabricjs nesnesini şu şekilde "kilitli" yapmak için nasıl yaparsınız:

  1. Seçilebilir değil (obj.selectable=false)
  2. Sağ tıklama için 'mousedown' olayına izin verir (obj.evented true olmalıdır)
  3. Hiçbir hover durumu/olayı yok (fare bu nesneyi üzerine geldiğinde algılamaz veya imleci değiştirmez)
  4. Fareye altındaki nesnelere tıklamasına izin verir (fare üzerinden nesnelere erişebilir)

‘evented’ özelliğiyle ilgilenen kodu aramayı denedim ama kaynakta bulamadım. Evented özelliği nesneyi şeffaf yapıyor (yani üzerinden tıklanabilir hale getiriyor), ancak ‘mousedown’ olayını kaldırıyor.

Bu, nesneyi kilitleme/kilidi açma özelliğine sahip bir bağlam menüsünü uygulamam gereken durumumda gereklidir. Nesne kilitliyse, onu kilidini açabilmek için bağlam menüsünü tekrar görüntülemek üzere yine de sağ tıklayabilmelisiniz. Ayrıca, kilitli olduğunda, altındaki nesnelere erişip onlara tıklayabilmelisiniz.

Fabricjs 3.6.6

Düzenle: Bana, bunun fabric tarafından kutudan çıktığı haliyle mümkün olmadığı ve bu özelliği eklemek için bazı özel kodların yazılması gerektiği söylendi, bkz: https://github.com/fabricjs/fabric.js/issues/6734