デフォルトのmouseup /マウスダウン動作を無効にすることなく、ダブルクリックイベントを設定します。

StackOverflow https://stackoverflow.com/questions/2089265

質問

私は、デフォルトのmouseup /マウスダウンの動作を無効にすることなく、フレックスコントロールをダブルクリックイベントを有効にしようとしています。

私は、ArcGIS ServerのためのESRIのFlex APIを使用していて、私は1つのバックグラウンド層とGraphicLayerでマップコントロールを持っています。グラフィック層は、複数のグラフィックは、マウスオーバーにその応答オブジェクト、そして、彼らはをクリックして保持している場合、ユーザーがマップをパンすることができました。しかし、私はグラフィックオブジェクトのためのダブルクリックイベントハンドラを実装するとき、彼らはもはやマップへのデフォルトの動作までバブルに思えません。

クリックから古い動作を維持し、保持したまま、グラフィックオブジェクトをダブルクリックを実装する方法はありますか?

役に立ちましたか?

解決

私はむしろ、グラフィックよりも、マップにダブルクリックイベントを取り付け、そして私が使用していたグラフィックを取得するためにイベントのターゲット属性を使用してこれを解決します。

このように:

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

他のヒント

あなたのグラフィックにfalseに「checkForMouseListeners」プロパティを設定するオブジェクトの場合は、

は、デフォルトのマップをクリック/ドラッグ動作が保存されます。

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