You can view how callbacks are called here.
You can drop me on the tree
$(function () { $("#demo").tree({ // Rest omitted rules : { droppable : [ "tree-drop" ], multiple : true, deletable : "all", draggable : "all" }, callback : { beforechange: function() { log("About to change"); return true }, beforeopen : function() { log("About to open"); return true }, beforeclose : function() { log("About to close"); return true }, beforemove : function() { log("About to move"); return true }, beforecreate: function() { log("About to create"); return true }, beforerename: function() { log("About to rename"); return true }, beforedelete: function() { log("About to delete"); return true }, onselect : function() { log("Select"); }, ondeselect : function() { log("Deselect"); }, onchange : function() { log("Focus changed"); }, onrename : function() { log("Rename"); }, onmove : function() { log("Move"); }, oncopy : function() { log("Copy"); }, oncreate : function() { log("Create"); }, ondelete : function() { log("Delete"); }, onopen : function() { log("Open"); }, onopen_all : function() { log("Open ALL"); }, onclose : function() { log("Close"); }, error : function() { }, ondblclk : function() { log("Doubleclick"); TREE_OBJ.toggle_branch.call(TREE_OBJ, NODE); TREE_OBJ.select_branch.call(TREE_OBJ, NODE); }, onrgtclk : function() { log("Rightclick"); }, onload : function() { log("Tree loaded"); }, onfocus : function() { log("Tree got focus"); }, ondrop : function() { log("Foreign node dropped"); } } }); });