jQuery FileTree 2.1.x-默认打开的文件夹
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery FileTree 2.1.x-默认打开的文件夹相关的知识,希望对你有一定的参考价值。
我正在研究一种简单的上传机制,用户可以在FileTree目录中删除文件。我用jQuery FileTree制作而成,除了一件事以外,其他所有功能都很好。上传后,我刷新FileTree以向用户显示该文件确实在目标文件夹中。不幸的是,如果目标文件夹不是主目录,而是子目录之一,则用户看不到任何东西,因为默认情况下目录是折叠的。
我正在寻找该问题的解决方案:“如何在重新加载时扩展一个或多个目录”,并且仅找到一个有趣的主题:jquery file tree - folder open by default?-它确实解决了完全相同的问题,但仅适用于iQuery FileTree的非常旧的版本,不适用于最近的版本。
我花了数小时试图在最新版本中进行类似的修改,但是jQuery FileTree中使用的javascript对我来说太高级了,而旧版本和新版本之间的差异很大,很难找到任何相似之处。
[如果有人知道如何修改jQuery FileTree的最新版本,请为我提供帮助。谢谢。
检查下面的完整示例,了解如何在初始化插件后实施特定文件夹的扩展。它递归打开路径中指定的所有文件夹。
var folderToExpand = "/folder/path/to/expand";
$('.filetree').fileTree({
root: fileRoot,
script: scriptUrl,
multiFolder: false
})
.on('filetreeexpanded', function (e, data) {
// clean autoexpand folder and restore animation
if (folderToExpand == data.rel) {
folderToExpand = null;
data.options.expandSpeed = 500;
}
})
.on('afterShowTree', function (e, data) {
if (folderToExpand !== null) {
var $el = $(e.target),
flag = false;
$el.find(".directory.collapsed").each(function (i, folder) {
var $link = $(folder).children();
if (folderToExpand.indexOf($link.attr('rel')) === 0) {
flag = true;
data.options.expandSpeed = 0;
setTimeout(function () {
$link.click();
}, 50);
}
});
// match not found
if (flag === false) {
folderToExpand = null;
data.options.expandSpeed = 500;
}
}
});
由于与插件选项相关的data.options,现在可以在事件中更改动画和其他选项。
以上是关于jQuery FileTree 2.1.x-默认打开的文件夹的主要内容,如果未能解决你的问题,请参考以下文章
在 Android Studio 中编译 fileTree 和 Complile jar 有啥区别?
Gradle - 如何仅针对特定类型的文件在 fileTree 中迭代
Android Gradle 插件Gradle 依赖管理 ⑧ ( implementation fileTree 引入jar文件依赖 | implementation files 引入文件依赖 )