我试图启用柔性控制双击事件没有禁用默认的鼠标松开/鼠标按下的行为。

我使用对于ArcGIS服务器的ESRI Flex的API,并且我有一个背景层和一个GraphicLayer地图控制。图形层有响应鼠标悬停,并允许用户平移地图,如果他们点击并按住几个图形对象。然而,当我实现针对图形对象双击事件处理程序,他们似乎不再冒泡它们的默认行为到地图中。

是否有实现的图形对象上的双击而从点击并按住保留旧的行为方式?

有帮助吗?

解决方案

我通过双击事件附加到地图上,而不是图形,并使用该事件的target属性来获得我想要使用的图形解决了这个。

像这样:

map.addEventListener(MouseEvent.DOUBLE_CLICK, function(event:MouseEvent):void
{
    var graphic:Graphic = event.target as Graphic;
    if(graphic)
    {
        ...
    }
});

其他提示

如果你设置了“checkForMouseListeners”属性设置为false在你的图形对象,那么默认的地图,请点击/拖曳行为将被保留。

graphic.addEventListener(MouseEvent.DOUBLE_CLICK, function(event:MouseEvent):void {
    var graphic:Graphic = event.target as Graphic;
    if(graphic) {
      ...
    }
});

//preserve the default click/drag behavior on the map
graphic.checkForMouseListeners = false;

HTTP ://resources.esri.com/help/9.3/ArcGISServer/apis/Flex/apiref/com/esri/ags/Graphic.html#checkForMouseListeners

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top