jquery - 自定义节点图标在 Fancytree 中不起作用

标签 jquery css json fancytree

我一直在我正在从事的元素中使用“Fancytree”,直到今天我对它非常满意。我需要在树中的某些节点上显示不同的图标,但到目前为止,我无法让它们显示在树上。

我在用于加载树的 JSON 字符串中指定自定义节点图标:

[{
    "title": "Inventory",
    "key": "DocFolders/1026",
    "folder": true,
    "data": {
        "icon": "LockedFolder.gif",
        "isLocked": true
    }
}, {
    "title": "Telemetry",
    "key": "DocFolders/1027",
    "folder": true,
    "data": {
        "icon": "LockedFolder.gif",
        "isLocked": true
    }
}, {
    "title": "Well Documents",
    "key": "DocFolders/1028",
    "folder": true,
    "data": {
        "icon": "LockedFolder.gif",
        "isLocked": true
    },
    "expanded": true,
    "children": [{
        "title": "4-13 Spectrum Core PG&E Data.xlsx",
        "key": "SpectrumDocs/961"
    }]
}, {
    "title": "Well Photos",
    "key": "DocFolders/1029",
    "folder": true,
    "data": {
        "icon": "LockedFolder.gif",
        "isLocked": true
    }
}]

下面是加载树的javascript代码:

 $('#locDocTree').fancytree({
    source: fldrObj,
    imagePath: 'skin-win8',
    activate: function (event, data) {
        if (data.node.folder) {
            $('[id$=txtSelFldrKey]').val(data.node.key);
            $('[id$=txtDownloadDocId]').val('');
        }
        else {
            $('[id$=txtDownloadDocId]').val(data.node.key);
            $('[id$=txtSelFldrKey]').val('');
        }
    }
});

“LockedFolder.gif”文件位于“skin-win8”文件夹中,如果我从 JSON 中取出“icon”:“LockedFolder.gif”,则树可以使用默认图像正常渲染。当指定图标属性时,树仍然呈现,但没有文件夹图标的图像。

以下是页眉中引用的脚本和css文件。

<link href="fancytree/skin-win8/ui.fancytree.css" rel="stylesheet" type="text/css">
<script src="Scripts/json2.js" type="text/javascript"></script>
<script src="Scripts/jquery-2.1.1.js" type="text/javascript"></script>
<script src="Scripts/jquery-ui-1.10.4.js" type="text/javascript"></script>
<script src="fancytree/jquery.fancytree.js" type="text/javascript"></script>

看起来这应该很简单,但结果对我来说是一个脑筋急转弯...

嗯,几个小时后,我设法回答了我自己的问题。感觉很傻,但这些事情常常归结为这样的事情。原来我的问题出在树的“imagePath”选项中。路径名必须包含一个正斜杠。所以解决方法是使 imagePath 为“skin-win8/”。之后工作正常。

最佳答案

嗯,几个小时后,我设法回答了我自己的问题。感觉很傻,但这些事情常常归结为这样的事情。原来我的问题出在树的“imagePath”选项中。路径名必须包含一个正斜杠。所以解决方法是使 imagePath 为“skin-win8/”。之后工作正常。

关于jquery - 自定义节点图标在 Fancytree 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24393362/

相关文章:

html - CSS滑动缩放效果与重叠元素

php - Jquery:向上滑动div(如果最后)

javascript - 如何通过 onclick 检查 jQuery 将日期时间值添加到输入

javascript - Ajax 调用等待音频媒体加载

javascript - select2 中的右对齐下拉菜单

css - 重写 .htaccess https 除了一个文件夹之外的所有文件夹

javascript - 正则表达式获取由 "="分隔的字段

javascript - 在 camunda 进程中的进程变量中传递 json

json - spring prefixjson 与 responsebody

javascript - 如何检查具有类的元素是否是该类的第一个子元素