我们和jstree 1.0-rc3有一个项目。为了扩展基本功能,我们使用JQuery.jstree.plugin()函数编写了自定义扩展。换句话说,我们创建了自定义插件,并将其用作常规插件。最近我们决定将jstree版本更新到最新版本(3.3.8),我遇到了麻烦,因为这个函数(JQuery.jstree.plugin)已经不存在了,我找不到任何类似的函数。由于我们的自定义插件的大小(数百行)和我们使用它的地方很多,我们不想将功能从自定义插件转移到其他地方,因为这将花费大量的时间。有人知道如何在最新的jstree ( 3.3.8 now)中创建自定义插件吗?非常感谢。
发布于 2019-11-16 22:09:23
在当前的jsTree版本(3.3.8)中,添加自定义插件的功能仍然存在。作为一个例子,已经解释过了。
// conditional select
(function ($, undefined) {
"use strict";
$.jstree.defaults.conditionalselect = function () { return true; };
$.jstree.plugins.conditionalselect = function (options, parent) {
this.activate_node = function (obj, e) {
if(this.settings.conditionalselect.call(this, this.get_node(obj))) {
parent.activate_node.call(this, obj, e);
}
};
};
})(jQuery);
$("#tree").jstree({
"conditionalselect" : function (node) {
return node.text === "Root node" ? false : true;
},
"plugins" : ["conditionalselect"]
});请使用https://github.com/vakata/jstree#more-plugins中解释的如何包含您自己的插件或任何第三方插件的方法必须在页面上包含其源代码,并在“plugins.You”配置数组中列出其名称。
您可以在jstree/src/misc.js中找到许多已经编写的自定义插件。
https://stackoverflow.com/questions/58881188
复制相似问题