web-dev-qa-db-fra.com

TypeError: $ (...). Le dialogue n'est pas une fonction Erreur

J'ai lu des discussions sur ce sujet sur SO, mais je ne suis pas en mesure d'obtenir le numéro requis. Ils ont dit que ce problème se pose parce que certains fichiers js sont inclus plusieurs fois. Mais j'ai essayé de supprimer les fichiers multiples un par un, mais j'ai toujours l'erreur TypeError: $(...).dialog is not a function. Où j'inclus plusieurs fichiers js? Quelqu'un peut-il s'il vous plaît le signaler. Merci.

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>

<script type="text/javascript" src="{% static "js/bootstrap.js" %}" ></script>
<script type="text/javascript" src="{% static "dashboard/js/jquery-ui-personalized-1.6rc2.min.js" %}" ></script>
<script type="text/javascript" src="{% static "dashboard/js/inettuts.js" %}" ></script>    
<script type="text/javascript" src="{% static "dashboard/js/dashboard.js" %}" ></script>

Les erreurs que je reçois sont: -

Error: Syntax error, unrecognized expression: #intro,
    ...nction(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"...    
jquery.min.js (line 4)

TypeError: t.widget.extend is not a function
    ..."drag",e,s)===!1)return this._mouseUp({}),!1;this.position=s.position}return thi...
   jquery-ui.min.js (line 5) 
8
PythonEnthusiast

Plusieurs bibliothèques jQuery sont chargées sur la même page (différentes versions de la même chose), ce qui est faux, à moins que vous ne deviez conserver les anciens plugins qui dépendent des versions précédentes. Dans ce cas spécifique, vous devrez résoudre les conflits.

C'est tout ce dont vous avez besoin:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>

<script type="text/javascript" src="{% static "js/bootstrap.js" %}" ></script>
<!-- Not so sure what is this, but certainly it's another jQuery UI library being loaded on top of the other one -->
<!-- <script type="text/javascript" src="{% static "dashboard/js/jquery-ui-personalized-1.6rc2.min.js" %}" ></script>-->
<script type="text/javascript" src="{% static "dashboard/js/inettuts.js" %}" ></script>    
<script type="text/javascript" src="{% static "dashboard/js/dashboard.js" %}" ></script>

Regardez ici pour la feuille de style CSS (jouer avec le thème): http://jqueryui.com/

Le dialogue jQuery UI: http://jqueryui.com/dialog/

METTRE &AGRAVE; JOUR

Après notre discussion sur les commentaires, j'ai découvert que vous utilisiez un plugin appelé inettuts qui est basé sur de très anciennes versions des bibliothèques jQuery et jQuery UI (1.2.x) . Il utilise également une version personnalisée. de l'interface utilisateur jQuery qui n'inclut pas le widget dialog, d'où le premier message d'erreur.

Vous pouvez essayer d'adapter le plugin pour qu'il fonctionne avec les versions les plus récentes (en suivant les commentaires sur son propre site web) ou de résoudre les conflits et d'utiliser deux bibliothèques sur la même page.

C'est à vous maintenant.

10
melancia

Assurez-vous que vous avez les bibliothèques js que vous référencez dans jsp/html dans le dossier correspondant. Il s’agit généralement du dossier WebContent ou du chemin que vous spécifiez dans jsp. Pour moi, c'était dans le dossier/resources/scripts. Une fois que j'ai ajouté les bibliothèques là-bas

0
sofs1

Examinez le code source généré, recherchez toutes les références à jquery, puis vérifiez qu’il n’ya qu’une référence à jquery et une à jquery UI. 

0
TagFolks