Uncaught TypeError: Cannot read property 'init' of undefined on zTree_v3 library

匿名 (未验证) 提交于 2019-12-03 01:12:01

问题:

I got problem with using zTree library. this is my code

<script type="text/javascript" src="<?php echo base_url()?>asset/js/jquery-1.4.4.min.js"></script> <script type="text/javascript" src="<?php echo base_url()?>asset/js/jquery.ztree.core-3.5.js"></script> <SCRIPT type="text/javascript">     <!--     var setting = {         data: {             simpleData: {                 enable: true             }         }     };      var zNodes =[         { id:1, pId:0, name:"Custom Icon 01", open:true, iconOpen:"<?php echo base_url()?>asset/img/diy/1_open.png", iconClose:"<?php echo base_url()?>asset/img/diy/1_close.png"},         { id:11, pId:1, name:"leaf node 01", icon:"<?php echo base_url()?>asset/img/diy/2.png"},         { id:12, pId:1, name:"leaf node 02", icon:"<?php echo base_url()?>asset/img/diy/2.png"},         { id:13, pId:1, name:"leaf node 03", icon:"<?php echo base_url()?>asset/img/diy/2.png"},         { id:2, pId:0, name:"Custom Icon 02", open:true, iconOpen:"<?php echo base_url()?>asset/img/diy/1_open.png", iconClose:"<?php echo base_url()?>asset/img/diy/1_close.png"},         { id:21, pId:2, name:"leaf node 01", icon:"<?php echo base_url()?>asset/img/diy/8.png"},         { id:22, pId:2, name:"leaf node 02", icon:"<?php echo base_url()?>asset/img/diy/8.png"},         { id:23, pId:2, name:"leaf node 03", icon:"<?php echo base_url()?>asset/img/diy/8.png"}      ];      $(document).ready(function(){         $.fn.zTree.init($("#treeDemo"), setting, zNodes);     });     //--> </SCRIPT> 

and I get some error like

Uncaught TypeError: Cannot read property 'init' of undefined (anonymous function) b.extend.ready u

please help me, how can I resolve this problem? thanks

回答1:

This happens because of including js at multiple places. I have encountered the same issue in my Portal page where jquery-1.4.4.min.js and jquery.ztree.core-3.5.js were included many places.

I fixed this issue by removing all references to js from all the portlets on that page and added these js globally in theme/_diff/portal_noraml.vm in the given order.



回答2:

This error's in your $(document).ready(), and it's because your zTree script hasn't been loaded correctly. "Cannot read property 'init' of undefined" means you wrote something that evaluates as undefined.init - so you know that $.fn.zTree is undefined.

If you check the network tab of your browser's developer tools, you should hopefully see the problem. I'd guess it'll either be a 404 (ie. the src attribute of the <script> tag is incorrect) or a 403 (ie. you need to change the permissions on your zTree file so the web server can read it).



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!