Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 始终触发jstree事件_Javascript_Jquery_Tree_Jstree - Fatal编程技术网

Javascript 始终触发jstree事件

Javascript 始终触发jstree事件,javascript,jquery,tree,jstree,Javascript,Jquery,Tree,Jstree,我有一个树结构,其中所有树节点都是父文件夹和子文件夹。我想显示用户试图展开的文件夹中的文件。因此,用户用户展开一个节点,它会在另一个div中显示子节点(子文件夹)和来自父节点的文件 我正在使用“open_node.jstree”事件加载一些其他脚本。但若节点并没有子节点,“open_node.jstree”不会触发。如果节点被扩展,不管节点是否有子节点,我都希望触发一个事件 我的代码如下 var dispJSTree = function () { $("#treedis

我有一个树结构,其中所有树节点都是父文件夹和子文件夹。我想显示用户试图展开的文件夹中的文件。因此,用户用户展开一个节点,它会在另一个div中显示子节点(子文件夹)和来自父节点的文件

我正在使用“open_node.jstree”事件加载一些其他脚本。但若节点并没有子节点,“open_node.jstree”不会触发。如果节点被扩展,不管节点是否有子节点,我都希望触发一个事件

我的代码如下

var dispJSTree = function () {
            $("#treedisp").jstree({
                'core': {
                    'data': {
                        "type": "POST",
                        "dataType": "json",
                        "contentType": "application/json;",
                        "url": "/xyz/example.asmx/GetJsFoldersTree",
                        "data": function (node) {
                            var nodeid = (node.id == "#") ? "" : node.id;
                            var originalSrc = node.original;
                            var moduleId = "";
                            if (typeof (originalSrc) === 'undefined' || originalSrc == null || originalSrc == "") {
                                nodeid = "";
                            }
                            else {
                                nodeid = (typeof (originalSrc.nodeid) === 'undefined' || originalSrc.nodeid == null || originalSrc.nodeid == "") ? "" : originalSrc.nodeid;
                                moduleId = (typeof (originalSrc.moduleId) === 'undefined' || originalSrc.moduleId == null || originalSrc.moduleId == "") ? "" : originalSrc.moduleId;
                            }

                            return JSON.stringify({ id: nodeid, moduleId: moduleId });
                        }
                    }
                },
                'plugins': ['contextmenu'],
                'contextmenu': {
                    'items': customMenu
                },                
            }).on('open_node.jstree', function (e, data) {
                var folderId = data.node.original.id;
                var moduleId = data.node.original.moduleId;
                getFiles(folderId, moduleId, filesDispDiv);
            });
        }
我唯一关心的是“open_node.jstree”只有在节点有子节点时才会触发。否则它不会被触发。如果节点被扩展,我将触发一个事件


Pl给出一个解决方案

对于这种情况,单击事件我就可以处理

 $("#mytree").on("click", ".jstree-anchor", function(e) {
             var obj = $("#mytreet").jstree(true).get_node($(this));           
    });

您不能使用obj.id访问您单击的节点id…

最后我找到了解决方案。无论是否包含子节点,事件“load_node.jstree”总是被触发

$("#treedisp").jstree().on('load_node.jstree', function (e, data) {
                    var folderId = data.node.id;
                    getFolderFiles(folderId, userOrOrgProfId, filesDispDiv);
                })

如何显示可以打开没有子节点的节点?我不需要显示节点(不包含子节点的空节点),但我需要触发一个事件,该事件将触发一些其他脚本来执行其他操作。是否可以使用
select\u node
事件?我有一个树结构,其中所有子节点都是父文件夹和子文件夹。我想显示用户试图展开的文件夹中的文件。因此,用户用户展开一个节点,它会在另一个div中显示子节点(子文件夹)和来自父节点的文件。