views:

228

answers:

1

How do I diable the drag-drop of an image. I've tried to stopPropagation, but that didn't help.

Here is the snippet of the code that I've written

<mx:Image width="24" height="24" complete="init()" dragStart="disableMove(event)" 
                                    source="{(data.id==null)?'': (data.id.search('\\.') > 0) ? 'assets/icons/teacher.png' : 'assets/icons/student.png'}" 
                                    toolTip="{data.data}" doubleClick="itemDoubleClick(event, data.id)" doubleClickEnabled="true">

                                    <mx:Script>
                                        <![CDATA[
                                            import mx.controls.Alert;
                                            import flash.events.MouseEvent;
                                            import flash.ui.ContextMenu;
                                            import flash.ui.ContextMenuItem;

                                            private var allCurrentItems: Array = new Array();

                                            private function itemDoubleClick(event: Event, id: String): void {
                                                Alert.show("Clicked = "+id);
                                            }

                                            private function init(): void {
                                                var menuLabel:String = "About School\u00A0";
                                                var cm:ContextMenu = new ContextMenu();

                                                cm.hideBuiltInItems();

                                                var item:ContextMenuItem = new ContextMenuItem(menuLabel);

                                                this.addEventListener(MouseEvent.MOUSE_DOWN, showClick);

                                                //add eventlisteners to the menu item and provide functions
                                                cm.customItems.push(item);
                                                //cm.customItems = [item];

                                                this.contextMenu = cm;
                                            }

                                            private function showClick(event:MouseEvent): void {
                                                if (event.buttonDown) {
                                                    Alert.show(String(event.buttonDown));
                                                }
                                            }

                                            private function disableMove(event: MouseEvent): void {
                                                event.stopImmediatePropagation();
                                            }
                                        ]]>
                                    </mx:Script>
                                </mx:Image>
+1  A: 

I got it, instead of calling disableMove(event) on dragStart(), I called it on mouseDown() it worked.

Panther24