我的JSTree节点属于html类型:"html_titles : true"
。
我想在这些节点中添加表单项(例如<select>
,<option>
...)。
我可以使用"rename_node"
来实现,但是当可编辑项目出现时,用户无法修改任何内容:单击<select>
项目将不允许用户修改其内容...
似乎与drag'n drop插件存在冲突:当此插件未激活时,我们可以使用表单项而不会出现任何问题...有关解决方案的任何想法吗?
答案 0 :(得分:1)
我找到了一种方法来禁用单个节点上的拖放,具体取决于节点的动态属性类(我称之为“inEdition”)
但我必须更改JSTree代码(约2400行):
.delegate("a", "mousedown.jstree", $.proxy(function (e) {
if(e.which === 1) {
/*this.start_drag(e.currentTarget, e);
return false;*/
o = this._get_node(e.currentTarget);
if(this.data.ui && this.is_selected(o)) { o = this._get_node(null, true); }
if (!o.hasClass("inEdition")) {
this.start_drag(e.currentTarget, e);
return false;
}
}
}, this))
我还必须禁用关于2200行的3行:
/*e.currentTarget.unselectable = "on";
e.currentTarget.onselectstart = function() { return false; };
if(e.currentTarget.style) { e.currentTarget.style.MozUserSelect = "none";}*/
希望它可以帮助某人