【问题标题】:Flex + Image + Disable DragFlex + 图像 + 禁用拖动
【发布时间】:2010-01-19 21:18:37
【问题描述】:

如何禁用图像的拖放功能。我试图停止传播,但这没有帮助。

这是我写的代码的sn-p

<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>

【问题讨论】:

    标签: apache-flex image drag-and-drop


    【解决方案1】:

    我知道了,我没有在 dragStart() 上调用 disableMove(event),而是在 mouseDown() 上调用它,它起作用了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-11
      • 1970-01-01
      • 2023-04-01
      相关资源
      最近更新 更多