3
我用下面的代碼來重命名jstree節點(與CRRM插件):重命名jstree節點問題
$('#categoriesTree').jstree('rename');
我怎麼知道該節點是否成功更名爲(按Enter鍵)或重命名被取消(由按Esc)?事件'rename_node.jstree'不提供有用的信息。
我用下面的代碼來重命名jstree節點(與CRRM插件):重命名jstree節點問題
$('#categoriesTree').jstree('rename');
我怎麼知道該節點是否成功更名爲(按Enter鍵)或重命名被取消(由按Esc)?事件'rename_node.jstree'不提供有用的信息。
你不能通過內置函數知道它,但你可以修改jquery.jstree.js。 在非壓縮版本查找字符_show_input : function (obj, callback)
(近線1263),你會看到:
"blur" : $.proxy(function() {
var i = obj.children(".jstree-rename-input"),
v = i.val();
if(v === "") { v = t; }
h1.remove();
i.remove(); // rollback purposes
this.set_text(obj,t); // rollback purposes
this.rename_node(obj, v);
callback.call(this, obj, v, t);
obj.css("position","");
console.log('click outside or blur after esc/enter');
}, this),
"keyup" : function (event) {
var key = event.keyCode || event.which;
if(key == 27) { this.value = t; this.blur();
console.log('press esc');
return; }
else if (key == 13) {
this.blur();
console.log('press enter');
return;
} else {
h2.width(Math.min(h1.text("pW" + this.value).width(),w));
}
}, //...
我加了三行這裏(console.log
),現在你可以在控制檯中看到什麼與你的節點發生。你可以添加一些類到你的元素作爲標誌,而不是在以後讀取它,或者創建自定義事件,但我不知道如何做到這一點。隨你便。