$(...).liste n'est pas une fonction

J'ai regardé à travers tout à fait un peu de posts sur ici à traiter de cette question, mais aucune d'entre elles semblent à résoudre mon problème.

J'ai importé le jQuery et Bootstrap, fichiers js dans le bon ordre. Des choses comme bootstrap panneaux fonctionnent parfaitement bien pour moi.

Mon script importations sont comme ceci:

   <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
   <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
   <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" rel="stylesheet">

Cependant, lorsque j'essaie

 $('[data-toggle="popover"]').popover();

Je reçois le message suivant dans la console Chromée:

 Uncaught TypeError: $(...).popover is not a function

Au début, j'ai pensé que peut-être liste n'était pas inclus dans le CA de la copie, donc je suis allé de l'avant et télécharger une copie locale avec tous les plugins inclus à partir d'ici:

http://getbootstrap.com/customize/

et a obtenu le même message d'erreur (re-pointé les balises de script vers le local de fichier js).

Faire une recherche pour "liste" l'bootstrap.min.js fichier:

http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js

Montre que la liste est incluse dans le fichier.

  • existe-il plusieurs instances de jQuery
  • Il suffit d'inclure le fichier de démarrage de js, et par la suppression de jquery, et d'essayer.
  • êtes-vous à l'aide de quelques autres bibliothèques?
  • essayez jQuery('[data-toggle="popover"]').popover();.
  • qui ne va pas au travail, Bootstrap JS plugins require jQuery
  • non, ce ne serait pas. Si il y avait un autre jQuery inclus après le Bootstrap JS, $ seraient redéfinies et $.fn.popover n'existerait pas.
  • bonne idée. Essayez $() instanceof jQuery ou $ === jQuery dans la console. Ils devraient tous les deux de retour true.
  • Il y avait plusieurs instances, qui je l'ai enlevé, mais le problème n'était pas résolu. Retrait de jQuery jette $ undefined, car bootstrap s'appuie sur jQuery
  • il suffit de retirer les doublons. Vous ne devriez avoir un jQuery .js fichier et il doit inclus avant le Bootstrap .js fichier
  • les deux renvoie true
  • J'ai fait en sorte qu'il a été inclus dans l'ordre. J'ai également supprimé tous les doublons (depuis que j'ai importer des scripts un peu différemment à partir de ASP.NET) et l'erreur est toujours là. Comme je l'ai dit, le reste du bootstrap éléments comme les panneaux fonctionnent très bien
  • Bootstrap panneaux sont CSS, ils n'utilisent pas de JS. Encore une fois, vous ne devriez inclure un copie de jQuery avant Bootstrap du fichier JS
  • bon point. À la recherche par le biais de la source de la page il y a une seule copie de jQuery importés
  • pouvez-vous essayer jQuery.fn.jquery dans votre navigateur de la console et de la croix-vérifier la version que vous avez importé
  • aussi assurez-vous il n'y a pas d'autres erreurs dans la console
  • bonne prise. J'ai raté l'une des importations en regardant à travers l'HTML. Mon _Layout.cshtml était l'importation de jQuery séparément. Je devrais arrêter d'être paresseux et de l'utilisation de la BundleConfig.cs pour gérer mon JS importations.
  • vous étiez celui qui a mentionné en premier
  • en cas d'erreur, comme ce l'un des cas les plus courants est double jQuery versions
  • Je vous remercie beaucoup. Pourriez-vous s'il vous plaît mettre en place la réponse que je peux vous donner un crédit et donc d'autres personnes avec un problème similaire verrez une réponse réelle?
  • C'est aussi là quelque chose comme require.js peut venir dans maniable, pour vous assurer d'obtenir la bonne version de bibliothèque, même s'il est chargé à plusieurs reprises.
  • Pour ceux qui utilisent avec AngularJS popover.js, utilisez angular.element au lieu de $