OnClickイベントを既存のsvgに追加しようとしています。今私はこれを持っています:
<g id="Group" onClick={this.clickGroup.bind(this, 1)}>
これは多少は機能しますが、完全にではありません...グループをクリックするとイベントが発生しますが、クリック可能な「ゾーン」はクリック可能にしたいグループとは異なります(完全にランダムなようです)私に)。
<g>
elementにイベントを追加するより良い方法はありますか(React?)?
g
要素は単なる空のコンテナーです。イベントを単独で発生させることはできません。
この例 を実行すると、click
要素の子をクリックすることでg
イベントをトリガーできることがわかりますが、それらの間の空きスペースをクリックします。
SVGでイベントを発生させるには、実際の形状を使用する必要があります。
スタイルポインターイベントを境界ボックスとして使用して、グループの任意の場所をクリックできるようにします。空の場所でも
<g id="Group" onClick={this.clickGroup.bind(this, 1)} style="pointer-events: bounding-box;">