我正在尝试在 flex 控件上启用双击事件而不禁用默认的 mouseup/mousedown 行为。
我正在为 arcgis 服务器使用 ESRI Flex API,并且我有一个带有一个背景层和一个 GraphicLayer 的地图控件。图形层有几个图形对象,它们响应鼠标悬停,并允许用户在单击并按住时平移地图。但是,当我为图形对象实现双击事件处理程序时,它们似乎不再将其默认行为冒泡到地图上。
有没有办法在图形对象上实现双击,同时保留点击和按住的旧行为?
我正在尝试在 flex 控件上启用双击事件而不禁用默认的 mouseup/mousedown 行为。
我正在为 arcgis 服务器使用 ESRI Flex API,并且我有一个带有一个背景层和一个 GraphicLayer 的地图控件。图形层有几个图形对象,它们响应鼠标悬停,并允许用户在单击并按住时平移地图。但是,当我为图形对象实现双击事件处理程序时,它们似乎不再将其默认行为冒泡到地图上。
有没有办法在图形对象上实现双击,同时保留点击和按住的旧行为?
我通过将双击事件附加到地图而不是图形来解决这个问题,并使用事件的目标属性来获取我想要使用的图形。
像这样:
map.addEventListener(MouseEvent.DOUBLE_CLICK, function(event:MouseEvent):void
{
var graphic:Graphic = event.target as Graphic;
if(graphic)
{
...
}
});
如果在 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;