#javascript #jquery #ztree
#javascript #jquery #ztree
Вопрос:
У меня возникла проблема с использованием библиотеки zTree. это мой код
<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>
и я получаю некоторую ошибку типа
Неперехваченная ошибка типа: не удается прочитать свойство ‘init’ undefined (анонимная функция) b.extend.ready u
пожалуйста, помогите мне, как я могу решить эту проблему? Спасибо
Ответ №1:
Это происходит из-за включения js в нескольких местах. Я столкнулся с той же проблемой на моей странице портала, где jquery-1.4.4.min.js и jquery.ztree.core-3.5.js были включены во многих местах.
Я исправил эту проблему, удалив все ссылки на js из всех портлетов на этой странице и добавил эти js глобально в theme/_diff/portal_noraml.vm в указанном порядке.
Ответ №2:
Эта ошибка в вашем $(document).ready()
, и это потому, что ваш скрипт zTree не был загружен правильно. «Не удается прочитать свойство ‘init’ undefined» означает, что вы написали что-то, что оценивается как undefined.init
— так что вы знаете, что $.fn.zTree
это не определено.
Если вы проверите вкладку сеть в инструментах разработчика вашего браузера, вы, надеюсь, увидите проблему. Я бы предположил, что это будет либо 404 (т. е. src
атрибут <script>
тега неверен) или 403 (т.е. вам необходимо изменить разрешения для вашего файла zTree, чтобы веб-сервер мог его прочитать).
Комментарии:
1. как изменить разрешение?
2. Вам придется войти на свой веб-сервер и использовать chmod для файла.