デフォルトのmouseup /マウスダウン動作を無効にすることなく、ダブルクリックイベントを設定します。
-
21-09-2019 - |
質問
私は、デフォルトの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;
所属していません StackOverflow