2016-09-26 27 views
7

Bir varolan svg'ye bir onClick olayı eklemeye çalışıyorum. Şu anda bu var:OnClick olayına bir grup öğesinin onayla (svg) reaktifi

<g id="Group" onClick={this.clickGroup.bind(this, 1)}> 

Hangi biraz çalışır ama tamamen değil ... Ben grup ama tıklanabilir "bölge" yi tıklayın olayı harekete istediğim grubu ile aynı değildir Tıklanabilir olmak (bana tamamen rasgele gibi görünüyor).

<g> öğesine (React?) Öğesine olay eklemenin daha iyi bir yolu var mı?

cevap

10

A g öğesi yalnızca boş bir kapsayıcıdır; Olayları kendi kendine ateş edemez.

this example'u çalıştırırsanız, g öğesinin alt öğelerini tıklatarak click olayını tetikleyebileceğinizi göreceksiniz, ancak aralarında boş bir alana tıklarsanız bunu yapamazsınız.

SVG'deki olayları tetiklemek için gerçek şekilleri kullanmanız gerekir.

+0

Yardımlarınız için teşekkürler. Bu, en iyi çözümün, bir dikdörtgen gibi bir şeyin içinde şekil oluşturan tüm yolları sarmak anlamına mı geliyor? – Clafou

+4

Sayfanızın üstüne şeffaf bir dikdörtgen ekleyebilir ve üzerinde bir etkinlik ekleyebilirsiniz. Birisinin daha zarif bir çözümü varsa, onu görmekten memnun olurum. –