2017-08-18 3 views
1

J'ai quelques difficultés à inclure le plugin datatables de https://datatables.net/manual/installation#Local-installation dans mon widget.

Dans les jquery.datatables.js il y a une fonction qui est censé attribuer jquery à la variable

$
if (typeof define === 'function' && define.amd) { 
     // AMD 
     alert('AMD'); 
     define(['assets/js/jquery/jquery-3.2.1'], function ($) { 
     alert('Common1'); 
     alert($); 
     return factory($, window, document); 
    }); 

Cependant, mon alerte ($) montre que $ est pas défini où il est censé être le constructeur de fonction pour JQuery

dans tous les cas, dans la fonction ultérieure de jquery.datatables.min il y a une fonction principale qui prend en:

(function($, window, document, undefined) 

et en ce fonction, sur la première utilisation de $ est où je reçois Uncaught TypeError: $ n'est pas une fonction

Pourquoi ai-je cette erreur et est-ce dû à ma définition de la jquery provoquant ce problème?

Même si je fais:

var $ = require define(['assets/js/jquery/jquery-3.2.1']) 

juste avant la fonction principale, je ne comprends toujours pas la fonction .fn.datatables $ dans l'économie mondiale?

Je sais que cette question est un peu en désordre mais j'espérais que quelqu'un pourrait me donner des pointeurs d'où commencer à chercher comment résoudre ce problème.

Répondre

0

Essayez de charger jquery directement à partir de CDN dans l'en-tête et de ne pas essayer de charger en utilisant AMD.

Assurez-vous jquery est la première bibliothèque à charger dans l'en-tête, par exemple:

<head> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
<!-- other scripts below --> 
</head>