EasyUI Forum

General Category => Bug Report => Topic started by: jacky_bear on May 13, 2013, 05:57:16 AM



Title: tree: onDragEnter event and onDragOver event don't trigger when I drag a node
Post by: jacky_bear on May 13, 2013, 05:57:16 AM
I'm using the jQuery EasyUI Tree plugin, when I drag some node to another node many times, including append, top or bottom. The source node and target node are not as the same one as before. Sometimes, onDragEnter event and onDragOver event don't trigger.
Below is the code:
$("#dkbTree").tree({
         ..........................//omit

         onDragEnter: function (target, source) {
                document.getElementById("info").innerHTML = "onDragEnter:";
                var targetNode = $("#dkbTree").tree('getNode', target);
                document.getElementById("info").innerHTML += "targetNode.text:" + targetNode.text + ", source.text:" + source.text;

                if (targetNode.attributes.BaseType != source.attributes.BaseType || targetNode.id == source.attributes.ParentRefid ||   targetNode.attributes.NodeType == "F") {
                    if (targetNode.attributes.BaseType != source.attributes.BaseType) {
                        document.getElementById("info").innerHTML += "the same base type";
                    } else if (targetNode.id == source.attributes.ParentRefid) {
                        document.getElementById("info").innerHTML += "parent";
                    } else if (targetNode.attributes.NodeType == "F") {
                        document.getElementById("info").innerHTML += "term node";
                    } else {
                        document.getElementById("info").innerHTML += "else";
                    }
                    return false;
                } else {
                    return true;
                }
            },
            onDragOver: function (target, source) {
                document.getElementById("info").innerHTML = "onDragOver:";
                var targetNode = $("#dkbTree").tree('getNode', target);
                document.getElementById("info").innerHTML += "targetNode.text:" + targetNode.text + ", source.text:" + source.text;

                if (targetNode.attributes.BaseType != source.attributes.BaseType || targetNode.id == source.attributes.ParentRefid || targetNode.attributes.NodeType == "F") {
                    if (targetNode.attributes.BaseType != source.attributes.BaseType) {
                        document.getElementById("info").innerHTML += "the same base type";
                    } else if (targetNode.id == source.attributes.ParentRefid) {
                        document.getElementById("info").innerHTML +="parent";
                    } else if (targetNode.attributes.NodeType == "F") {
                        document.getElementById("info").innerHTML += "term node";
                    } else {
                        document.getElementById("info").innerHTML += "else";
                    }
                    return false;
                } else {
                    return true;
                }
            },
....................//omit
)}

Any help is greatly appreciated. Thank you very much!