J'ai un svg avec du texte
EDIT: c'est tous les éléments sur mon svg afin d'accomplir l'effet dont j'ai besoin
<g id="top">
<path ....>
</g>
<g id="bottom">
<path ....>
</g>
<g id="boxes">
<rect ....>
</g>
<g id="txt">
<text transform="matrix(1 0 0 1 50 30)" class="svgtxt">TEXT</text>
</g>
Actuellement, si je passe la souris sur le mot "TEXTE", je peux le sélectionner.
J'essaie de trouver un moyen de le rendre non sélectionnable, en utilisant CSS, JQuery (comme suit) mais rien ne semble fonctionner. Je n'ai rien trouvé de semblable non plus.
CSS
.svgtxt{
-webkit-touch-callout: none;
-webkit-user-select:none;
-khtml-user-select:none;
-moz-user-select:none;
-ms-user-select:none;
-o-user-select:none;
user-select:none;
}
JQUERY
$('#txt text').onmousedown = function() { return false; };
Des idées?
Merci d'avance.
Vous pouvez désactiver pointer-events
si vous n'avez besoin d'aucune interaction:
L'attribut pointer-events permet aux auteurs de contrôler si ou quand un élément peut être la cible d'un événement de souris. Cet attribut est utilisé pour spécifier dans quelles circonstances (le cas échéant) un événement de souris doit passer "à travers" un élément et cibler à la place tout ce qui est "en dessous" de cet élément.
https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/pointer-events
.svgText {
pointer-events: none;
}
Cela fonctionne pour moi de cette façon:
svg text{
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
Si vous rencontrez toujours des problèmes avec les appareils tactiles que vous pourriez utiliser (ce n'est qu'une astuce):
-webkit-tap-highlight-color: rgba(255, 255, 255, 0);