     /**
      *  @private
      */
-    private function editorMouseDownHandler(event:MouseEvent):void
-    {
-        if (!owns(DisplayObject(event.target)))
-            endEdit(DataGridEventReason.OTHER);
+    private function editorMouseDownHandler(event:Event):void
+    {
+        if (event is MouseEvent && owns(DisplayObject(event.target)))
+			return;
+
+        endEdit(DataGridEventReason.OTHER);
     }
 
     /**

import mx.events.DragEvent;
import mx.events.FlexEvent;
import mx.events.IndexChangedEvent;
import mx.events.ScrollEvent;
import mx.events.ScrollEventDetail;
import mx.managers.CursorManager;

            DisplayObject(itemEditorInstance).removeEventListener(KeyboardEvent.KEY_DOWN, editorKeyDownHandler);
            systemManager.getSandboxRoot().
                removeEventListener(MouseEvent.MOUSE_DOWN, editorMouseDownHandler, true);
            systemManager.getSandboxRoot().
                removeEventListener(SandboxMouseEvent.MOUSE_DOWN_SOMEWHERE, editorMouseDownHandler);
            systemManager.removeEventListener(Event.RESIZE, editorStageResizeHandler, true);

            var event:DataGridEvent =
