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-默认打开的文件夹的主要内容,如果未能解决你的问题,请参考以下文章

jquery 文件树 - 默认打开的文件夹?

从 Gradle 中的 FileTree 中排除文件

在 Android Studio 中编译 fileTree 和 Complile jar 有啥区别?

Gradle - 如何仅针对特定类型的文件在 fileTree 中迭代

仅限Gradle FileTree目录

Android Gradle 插件Gradle 依赖管理 ⑧ ( implementation fileTree 引入jar文件依赖 | implementation files 引入文件依赖 )