To prevent from deleting the source node, please return false in the 'onBeforeDrop' event. To continue appending or inserting nodes to the destination tree, you have to write code to achieve this functionality. Please refer to the code below:
$('#t2').tree({
onBeforeDrop:function(target,source,point){
var sourceTree = $(source.target).closest('ul.tree');
if (sourceTree[0] == this){return true;}
var sourceData = $.extend(true,{},$(sourceTree).tree('getData', source.target));
if (point == 'top'){
$(this).tree('insert', {
before:target,
data:sourceData
})
} else if (point == 'bottom'){
$(this).tree('insert', {
after:target,
data:sourceData
})
} else {
$(this).tree('append', {
parent:target,
data:[sourceData]
})
}
return false;
}
})