2013-08-02 4 views
0

J'utilise une fonction javascript différente. Le problème est qu'ils ont le même nom, donc ils se remplacent les uns les autres. Je voudrais mettre un nom différent mais jusqu'ici cela n'a pas fonctionné.JS fonction multiple avec le même nom

Voici une des fonctions et comment je l'utilise:

<script type="text/javascript">  
    $(function() { 
     $('#datepicker').multiDatesPicker({ 
      altField: '#date', 
      dateFormat: "yy-mm-dd", 
     }); 
</script> 

<div id="datepicker"></div> 

L'autre fonction de démarrage comme ça aussi $(function() {} et utilisent la même manière <div id="date"></div>

J'essaie de mettre $(function name() mais il n'a pas travail. Avez-vous une idée? Merci

+0

Cette fonction est anonyme, donc il ne peut pas être écrasé. – xanatos

+0

Voulez-vous dire que vous avez une bibliothèque en conflit avec la syntaxe '$'? Si oui, utilisez noConflict(): http://api.jquery.com/jQuery.noConflict/ – CodingIntrigue

+0

oui c'est ce problème mais je ne peux pas trouver le moyen de le résoudre – usertfwr

Répondre

3

Ceci est un appel à $ (dans votre cas, c'est jQuery), avec un seul argument, qui se trouve être une fonction anonyme. Il ne porte pas de nom, et ayant plus d'une occurrence de ce modèle ne sera pas « écraser » la précédente:

$(function() { 
    // ... 
}); 

Le passage d'une fonction à $ est juste un raccourci pour $(document).ready(). Si vous avez besoin de plus d'un, vous devriez être en mesure de les combiner simplement:

$(function() { 
    // Initialise your date picker 
    // Do some other stuff 
}); 
+0

si je les combine seulement le premier travail et non le second \t comme:. $ (function() {\t \t \t $ ('# datepicker') multiDatesPicker ({...}); $ ("#dialog") .dialog ({..}); }); – usertfwr

+0

Alors quelque chose ne va pas avec le second. Est-ce que cela fonctionne si vous supprimez le premier? –

+0

oui ça marche. Si je mets le second sur le dessus c'est le premier (deviens le second) qui arrête de travailler – usertfwr

0

cette fonction est un raccourci pour $ (document) .ready() qui est juste une fixation à l'événement prêt du document. Tout cela signifie que vous pouvez en avoir autant que vous voulez sans vous écraser les uns les autres.

voir le jsfiddle

$(function() 
    { 
     alert('func1'); 
    }); 
$(function() 
    { 
     alert('func2'); 
    }); 
Questions connexes