39

リンクの一部として <use> を使用して SVG を埋め込むと (たとえばアイコン)、興味深いバグ (?) に遭遇しました。アイコン自体は jQuery でクリック イベントを登録しませんが、テキストをクリックすると登録されます。これは、SVG イベントが発生していないことが原因だと思いますか?

SVG を直接埋め込むと、テキストをクリックするかアイコンをクリックするかに関係なく、リンクがトリガーされます。

私が作成した簡単なテスト ケースは、 SVG <use> bug test caseで確認できます。

4

3 に答える 3

65

pointer-events: none;svg で使用します。それは私のために働いた。

要素がマウス イベントのターゲットになることはありません。ただし、マウス イベントは、その子孫要素に別の値が設定されたポインター イベントがある場合、その子孫要素をターゲットにすることがあります。このような状況では、マウス イベントは、イベント キャプチャ/バブル フェーズ中に、子孫に出入りする途中で、この親要素のイベント リスナーを適切にトリガーします。

https://developer.mozilla.org/en-US/docs/Web/CSS/pointer-events

于 2014-11-17T00:09:28.070 に答える
5

私も同じ問題を抱えていました。私が使用する修正は、svg の上に透明な div を配置することです。しかし、それはもちろん理想的ではありません。

于 2014-09-09T12:41:45.590 に答える