code: function(evt) {
              var dd = Kinetic.DD,
                  node = dd.node;
  
              if(node) {
                 if(!dd.isDragging) {
                      var pos = node.getStage().getPointerPosition();
                      var dragDistance = node.dragDistance();
                      var distance = Math.max(
                          Math.abs(pos.x - dd.startPointerPos.x),
                          Math.abs(pos.y - dd.startPointerPos.y)
                      );
  
                      if (distance < dragDistance) {
                          return;
                      }
                  }
  
                  node._setDragPosition(evt);
                  if(!dd.isDragging) {
                      dd.isDragging = true;
                      node.fire('dragstart', {
                          type : 'dragstart',
                          target : node,
                          evt : evt
                      }, true);
                  }
  
                  // execute ondragmove if defined
                  node.fire('dragmove', {
                      type : 'dragmove',
                      target : node,
                      evt : evt
                  }, true);
              }
          }
docs: methods