0

ドラッグアンドドロップでjstreeを設定しました。今のところ、ノードを事前定義されたdivにドラッグすることができます。しかし、ツリー内のノードは削除されました。ノードをドラッグして、ノードをツリーに残しておくにはどうすればよいですか?

dndプラグインを備えたJsTree、常にコピーが機能していません。別の木ではなくdivにドロップするからだと思います。

編集:追加されたコード

$(function () {
$("#tree").jstree({ 
    "crrm" : {
        "move" : { 
            "check_move" : function (m) { //do not allow messing up the tree!
                    return false;
                },
            "always_copy" : "true"
        }
    },
    "json_data" : {
        "progressive_render" : true,
        "ajax" : { 
            "url" : "lookupInstruments.php", 
            "data": function(n) {
                // the result is fed to the AJAX request 'data' option
                return {"id": n.attr ? n.attr("id") : "root_null_null_-1"};
                }
        }
    },
    "dnd" : {
        "drop_finish" : function (data) { 
            //alert(data.o.attr("ptype"));
            drop(data.o); 
        },
        "drop_check" : function (data) {
            if(data.o.attr("dragable") == "0") {
                return false;
            } else {
                return true; 
            };
        },
    },
    "plugins" : [ "themes", "json_data", "crrm", "dnd" ]
});

});

編集2:解決しました、これが他の誰かに役立つことを願っています:

問題は解決しました。drop関数でdropオブジェクトのクローンを作成する必要がありました。

function drop(dObj) {
var dropObj = dObj.clone();
    ...
}
4

1 に答える 1

1

問題が解決しました。ドロップ関数でドロップ オブジェクトを複製する必要がありました。

function drop(dObj) {
var dropObj = dObj.clone();
    ...
}
于 2012-05-24T07:04:51.203 に答える