2010-06-08 13 views
2

Question idiote. Beaucoup d'exemples utilisant jstree que je trouve sur le web utilisent la syntaxe $ ('# someTreeId'). Tree(), alors que la démo sur le site jstree continue de se référer à la syntaxe $ ('# someTreeId') .jstree() ..jstree() ou .tree(), et comment le faire fonctionner

Lorsque j'utilise .jstree(), j'obtiens une erreur de navigateur me disant que ce n'est pas une fonction. Mais quand j'utilise .tree, j'arrive à peine à aller plus loin: on ne fait que "Loading ...".

Jusqu'à présent, je n'ai inclus aucune option à l'intérieur des supports de fonction. Je supposais que jstree produirait un arbre de base si j'incluais l'UL dans le HTML. Mais ce n'est pas le cas.

Répondre

3

Peut être utiliser cette astuce pour trouver le nom exact de la fonction de plug-in jstree.

jquery.jstree.js Ouvrir, vérifier le mot-clé ".fn $. * =" Ou "jQuery.fn. * =" Ou "jQuery. * =" Ou "$. * ="

Le '*' sera le nom de la fonction.

ne pas compliquer, dans jstree plug-in le nom de la fonction est jstree(). L'erreur pas une fonction est parce que, le plugin n'est pas chargé. Vérifiez si le chemin du script vers jstree.js est correct.

3

Je voudrais toujours aller avec la documentation du site Web du plugin plutôt que d'un tiers. La documentation tierce peut ne pas être à jour alors que le site Web du plugin devrait l'être.

Je n'ai pas rencontré le problème avec jstree en lançant une erreur "Ce n'est pas une fonction". Si l'appel à jstree échoue, votre balisage ne sera pas appelé arbre, ce qui explique pourquoi un arbre de base n'est pas produit. Pour ce qui est de savoir pourquoi l'erreur survient, la première chose à vérifier est que toutes les bibliothèques JavaScript nécessaires sont référencées et dans le bon ordre. Par exemple, quelque chose comme ce qui suit devrait être dans la balise de votre page (modifier les chemins selon les besoins):

<script type="text/javascript" src="js/_lib/jquery.js"></script> 
<script type="text/javascript" src="js/jquery.jstree.js"></script> 
1

Je trouve effectivement cette ligne provoque le problème

@Scripts.Render("~/bundles/jquery") 

dans _layout