我试图在flex控件上启用双击事件,而不禁用默认的mouseup/mousedown行为。
我正在使用ESRI Flex API for arcgis server,并且我有一个带有一个背景层和一个GraphicLayer的地图控件。图形层有几个响应鼠标悬停的图形对象,并允许用户在单击并按住鼠标时平移地图。但是,当我为图形对象实现双击事件处理程序时,它们似乎不再将其默认行为冒泡到地图上。
有没有一种方法可以实现双击图形对象,同时保留单击和按住的旧行为?
发布于 2010-01-19 05:59:33
我通过将双击事件附加到地图而不是图形,并使用事件的目标属性来获得我想要使用的图形,从而解决了这个问题。
如下所示:
map.addEventListener(MouseEvent.DOUBLE_CLICK, function(event:MouseEvent):void
{
var graphic:Graphic = event.target as Graphic;
if(graphic)
{
...
}
});发布于 2010-02-23 01:24:34
如果您在图形对象上将"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
https://stackoverflow.com/questions/2089265
复制相似问题