web-dev-qa-db-fra.com

attacher des événements aux chemins SVG

J'ai une carte SVG dans mon html avec le <svg> tag. et je veux attacher des événements pour pouvoir cliquer dessus et déclencher certains événements. Je sais que je peux attacher un événement de clic à l'aide de jQuery sur des éléments de polygone. Mais certaines zones de cette carte sont créées à l'aide de chemins et j'aimerais déclencher certains événements lorsque je clique à l'intérieur des chemins, pas sur les chemins.

Comment faire ça? L'utilisation de jQuery est préférable.

23
Gnijuohz

Si vous fill a <path> puis en cliquant à l'intérieur (sur le remplissage) déclenchera le gestionnaire d'événements:

Démo: http://jsfiddle.net/TmsrP/1/

<path id="sauce" fill="#f00" … />    
$('#sauce').on('click',function(){ … });

Vous pouvez choisir de remplir explicitement le chemin avec la couleur transparent et les événements de souris seront toujours capturés:

Démo: http://jsfiddle.net/TmsrP/2/

<path fill="transparent" … />
26
Phrogz