【问题标题】:Set a double click event without disabling default mouseup/mousedown behavior在不禁用默认 mouseup/mousedown 行为的情况下设置双击事件
【发布时间】:2011-01-06 13:14:19
【问题描述】:

我正在尝试在弹性控件上启用双击事件,而不禁用默认的 mouseup/mousedown 行为。

我正在为 arcgis 服务器使用 ESRI Flex API,并且我有一个带有一个背景层和一个 GraphicLayer 的地图控件。图形层有几个图形对象,它们响应鼠标悬停,并允许用户在单击并按住时平移地图。但是,当我为图形对象实现双击事件处理程序时,它们似乎不再将其默认行为冒泡到地图上。

有没有办法在图形对象上实现双击,同时保留点击和按住的旧行为?

【问题讨论】:

    标签: apache-flex gis esri arcgis-server


    【解决方案1】:

    我通过将双击事件附加到地图而不是图形上来解决这个问题,并使用事件的目标属性来获取我想要使用的图形。

    像这样:

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

    【讨论】:

      【解决方案2】:

      如果您在 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

      【讨论】:

        猜你喜欢
        • 2012-11-13
        • 2011-01-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-08-14
        • 1970-01-01
        相关资源
        最近更新 更多