我希望在我的Liferay中使用jsTree,但是每次执行脚本时,我都会得到一个错误:
TypeError: treeContainer.jstree不是一个函数@localhost:8080/web/来宾/home:14
我知道它没有JS文件可供使用,所以我尝试了这两种方法,但是它们都很有效。
First:通过添加
<script type="text/javascript" src="jquery.jstree.js"></script>进入JSP。虽然我可以看到它在我的IDE中被“链接”,但是在构建和部署之后它是不可用的(duh)。
第二个:在liferay-portlet.xml中编辑它,如下所示:
<portlet>
<portlet-name>myPortlet</portlet-name>
<instanceable>false</instanceable>
<!-- other mappings here -->
<header-portlet-javascript>my/resource/folder/myPortlet/jquery.jstree.js
</header-portlet-javascript>
</portlet>但是即使我像这样编辑它,我也能在浏览器控制台中得到404。
JSP中使用的函数:
<script type="text/javascript">
$(".tree-search").click(function(){
treeContainer = $(this).siblings('.tree-container');
// correct data is taken from ${jsonFake}
treeContainer.jstree({
"plugins":["themes","html_data","ui"], "json_data": { data: ${jsonFake}}
});
treeContainer.show();
treeContainer.animate({
opacity: "1"
}, 750);
});
</script>我做错什么了,拜托?
发布于 2013-12-09 13:18:33
这似乎是路径问题:
在docroot中创建一个名为js的文件夹,并将该文件放在其中。添加脚本src,如:
<script type='text/javascript' src='/js/jquery.jstree.js'></script>发布于 2013-12-09 11:31:59
在当前主题的portal_normal.vm文件中添加js文件
<script type="text/javascript" src="jquery.jstree.js"></script>https://stackoverflow.com/questions/20467237
复制相似问题