Question

Je suis en train d'ajouter un gestionnaire onClick à un objet incorporé. Les besoins de gestionnaire pour exécuter une fonction qui se trouve dans un fichier .js externe qui est lié au fichier html courant via <script src="....

Ai-je besoin de faire référence à la fonction différemment parce qu'elle est située ailleurs?

Voici le code tel qu'il est actuellement (ce qui ne fonctionne pas, mais aussi ne produit pas d'erreurs):

<embed src="svg/button.svg" id="buttonEmbed" width="95" height="53" 
type="image/svg+xml" onClick="buttonEvent('buttonClicked')"/>
Était-ce utile?

La solution

Vous devez implémenter onclick dans le svg et le lier à la fonction JavaScript externe à l'aide javascript à l'intérieur du svg. Voir le wiki SVG pour des exemples.

Mise à jour: Apparemment, le wiki SVG est plus. Pas étonnant que les meilleures références que je peux maintenant (rapidement) trouver sont sur StackOverflow lui-même.

Cette réponse décrit comment implémenter onclick à l'intérieur du svg .

Autres conseils

Utilisez soit la liaison javascript ( Mario Menger a répondu que déjà).

Si vous ne pouvez ou ne pas utiliser la liaison, vous pouvez utiliser ce que xil3 avec une modification répondu:

Utilisez une balise d'ancrage vide <a href="javascript:someFunc()"></a> comme consommateur de clic. Réglez cette z-index et la position / taille de sorte qu'il positionné sur l'objet SVG (pour la compatibilité inter-navigateur).

Onclick doivent tous être en minuscule.

<embed src="svg/button.svg" id="buttonEmbed" width="95" height="53" 
type="image/svg+xml" onclick="alert('hello!');"/>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top