場所の名前を付けるためにSVGテキスト要素を持つ地図があります。場所(図形)をクリック可能にしたいのですが、テキスト要素がその上にあるため、テキスト要素をクリックしてクリックすると、図形がクリックされなかったため何も起こりません:テキスト要素は。テキスト要素がクリックされた場合、クリックはその要素を通過して形になるようにするにはどうしたらいいですか?SVGテキスト要素を「クリックスルー可能」にする方法は?
16
A
答えて
41
Mozillaはポインタイベントと呼ばれ、この目的のためのCSSプロパティを導入しました。もともとはSVG形状に限定されていましたが、今は最近のブラウザのほとんどのDOM要素でサポートされています。
span.label { pointer-events: none; }
この質問への答えは上のいくつかの良い情報を持っています古いIEで同じ結果を達成する:
5
は、テキストにこのCSSを追加します。
pointer-events: none;
2
"<g>"要素内のテキストを使用してマップシェイプをグループ化することができれば、シェイプではなくグループにクリックを添付できます。これを行うと、グループに適用された変換の追加の利点が、図形とテキストの両方に適用されます。グループ分けができない場合は、以前の回答が間違いなく最高のショットになることに同意します。基本的に何が起こっているのですか?ほとんどの人がZ-インデックスを下方に貫くクリックを視覚化しますが、そのようには機能しません。クリックはDOMを吹き飛ばすので、テキストがクリックを処理しなければ、親グループまたはコンテナである次のDOM要素にバブルアップします。これは、DOMエレメントの一番上に達するまで上向きになります。
関連する問題
- 1. SVG要素をクリック可能にするには?
- 2. クリックスルー擬似要素
- 3. CSSクラスをSVGテキスト要素に適用する方法
- 4. SVGテキスト要素の速度
- 5. SVGのテキスト要素の幅
- 6. リピータ要素をスクロール可能にする方法は?
- 7. 要素をドラッグしたときに要素をドラッグ可能にする方法
- 8. ドラッグ可能な要素に選択可能なテキストを角2のDragulaで選択する方法?
- 9. Vueでドラッグ可能なsvg要素の選択を解除するには?
- 10. アコーディオン要素をソート可能かつドラッグ可能にする方法
- 11. ドラッグ可能な要素を特定の要素に限定する方法
- 12. divタグをSVG rect要素に追加する方法は?
- 13. jQueryでクリック可能な要素を変更する方法は?
- 14. d3 javascriptのSVGテキスト要素に一意のIDを割り当てる方法
- 15. jQuery上のテキスト選択を許可する方法DragSort要素
- 16. クリックコマンドでSVGパス要素を別のSVGパス要素に変換する方法は?
- 17. フェイザー - グループ要素をドラッグ可能にする方法
- 18. SVGのテキスト要素にテキストを追加することはできますか?
- 19. SVG線上の要素がアニメーション化可能です
- 20. d3.jsを使用してSVGテキストをドラッグ可能にする
- 21. SVGパスの一部をドラッグ可能/拡張可能にする方法
- 22. SVG要素 - テキストの扱いと選択
- 23. SVG要素の内容を別のSVG要素にコピーして同期を維持する方法
- 24. Amcharts:valueAxis SVG要素に変換を適用する方法を
- 25. SVG要素を透明にする方法(SVGwebを使用)
- 26. javascriptでSVG要素スタイルを操作する方法は?
- 27. トップsvg要素の位置を設定する方法は?
- 28. 1つのSVG要素のポイントから別のSVG要素をポイントする方法は?
- 29. 親div要素とsvg画像とテキストを含むlinkedinのようなドラッグ可能なタグを作成する
- 30. 作成方法<g> svgコンテナ内のsvg-groupをドラッグ可能にする
COOLは、SVGで動作していたことを知らなかった "普通の"要素だけを返す – Cystack
@Cystack 'ポインタイベント'プロパティはSVGの最初の部分でSVGに含まれていました(そして、 Mozillaはsvgの外でこのプロパティの使用を開拓しましたが)。最初のリンクには「警告:非SVG要素に対するCSSのポインタイベントの使用は実験的です」と書かれています。 –
また、ポインタイベントはIE9 + AFAIKのSVGコンテンツで機能します。 –