JQuery : appeler une fonction externe

Résolu/Fermé
king_of_net Messages postés 6 Date d'inscription jeudi 1 mai 2008 Statut Membre Dernière intervention 1 juillet 2013 - 28 mars 2013 à 02:17
prosthetiks Messages postés 1189 Date d'inscription dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 - 28 mars 2013 à 14:34
Bonjour,

Je veux appeler une fonction/un variable qui se trouve dans un autre fichier (.js) dans mon fichiers (.js) local. mais ça marche pas, est ce qu'il y une solution

Exemple

<script type="text/javascript" src="js/file1.js"></script>

file1 contient :

$(function(){

   var myvar = "un exemple";

   function myFunc() {.........}

});

<script type="text/javascript" src="js/file2.js"></script>

file2 contient :

$(function(){

   function exemple() { myFunc(); var variable = myvar ........}

});



Merciii d'avance



Amicalement

B.nabil

3 réponses

prosthetiks Messages postés 1189 Date d'inscription dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 431
28 mars 2013 à 08:15
Salut,

Dans ton exemple, tes deux fichiers possèdent un contexte différent (à cause du $(function(){});), hors il est impossible d'accéder au contenu d'une fonction depuis un appel externe à celle-ci.

Si tu as la possibilité de modifier le fichier file1, je te conseille de faire quelque chose de la sorte:

<script type="text/javascript">
		var file1 = {
			myVar: "un exemple",
			myFunc: function(){
				alert('Appel de la fonction myFunc')
			}
		}
	</script>
	<script type="text/javascript">
		$(function(){
			var variable = file1.myVar;
			file1.myFunc();
		});
	</script>


Si tu as des questions, n'hésite pas.

++
0
king_of_net Messages postés 6 Date d'inscription jeudi 1 mai 2008 Statut Membre Dernière intervention 1 juillet 2013
28 mars 2013 à 14:21
Merciii beaucoup prosthetiks pour votre explication vraiment c'est super.
0
prosthetiks Messages postés 1189 Date d'inscription dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 431
28 mars 2013 à 14:34
De rien, au plaisir :)
0