名前の変更と JsTree に問題があります。この問題を強調するために JS Fiddle を作成しました。http://jsfiddle.net/KJYrs/ . 私のシナリオは、入力された名前がデフォルト名ではないか、特殊文字が含まれていることを検証したいということです。最初に失敗した後に名前変更イベントを起動しようとすると、インライン エディターがルート ノードの上に表示されます。
<script type="text/javascript" class="source">
$(function () {
$("#demo1").jstree({
"plugins": ["themes", "html_data", "ui", "crrm", "contextmenu"]
}).bind("rename.jstree", function (event, data) {
//let's assume I do some vaidation here and it fails
//so I want to rename until valid
if (event.type === 'rename') {
$("#demo1").jstree("deselect_all");
$("#demo1").jstree("select_node", "#" + data.rslt.obj[0].id);
$("#demo1").jstree("rename");
}
});
});
</script>
<div id="demo1" class="demo">
<ul>
<li id="phtml_1"> <a href="#">Root node 1</a>
<ul>
<li id="phtml_2"> <a href="#">Child node 1</a>
</li>
<li id="phtml_3"> <a href="#">Child node 2</a>
</li>
</ul>
</li>
<li id="phtml_4"> <a href="#">Root node 2</a>
</li>
</ul>
</div>
どんな助けや提案も大歓迎です。