<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="creationCompleteHandler(event)">
<fx:Script>
<![CDATA[
import mx.events.FlexEvent;
private var objImageDetails:Object = new Object();
private function creationCompleteHandler(event:FlexEvent):void
{
// TODO Auto-generated method stub
var contextMenu:ContextMenu = new ContextMenu();
contextMenu.hideBuiltInItems();
var menuItem:ContextMenuItem = new ContextMenuItem("Paste\u00A0");
menuItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,onSelectPaste);
//menuItem.enabled = false;
contextMenu.customItems.push(menuItem);
this.contextMenu = contextMenu
objImageDetails.source = "assets/flower.jpeg";
}
private function onSelectPaste(event:ContextMenuEvent):void
{
var objImage:Image = new Image();
objImage.source = objImageDetails.source;
objImage.x = this.mouseX;
objImage.y = this.mouseY;
this.addElement(objImage);
}
]]>
</fx:Script>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<mx:Image id="FlowerImage" source="assets/flower.jpeg" />
</s:Application>
执行应用程序后,请右键单击该应用程序并选择粘贴。继续这样做。在某些时候,你可以面对这个问题。图像被粘贴到其他x / y而不是粘贴在mouseX / mouseY上。
我在使用右键单击从最新浏览器获取鼠标坐标时遇到问题。以前它在Firefox 5.5之类的旧浏览器上运行良好 mouseY值在右键单击时向下移动一些像素,因此它会影响粘贴操作 它不会粘贴在确切的位置。它发生了一段时间。
答案 0 :(得分:0)
您可以在MOUSE_MOVE
上添加一个监听器来存储最后一个鼠标坐标,并在onSelectPaste
中使用它们。