0

ドラッグ機能があります。ドラッグ機能オブジェクトを作成するときにドラッグ イベントを設定すると、非常にうまく機能します。

var dragFeature = new OpenLayers.Control.DragFeature(pointsLayer,
        {
            onStart:function (feature, pixel){
                //Do stuf
            }
            ,
            onComplete: function(feature, pixel){
                //Do stuff
            }
        });

問題は、オブジェクトを作成した後にこれらのイベントを変更したい、またはもう少し onComplete を実行したい (したがって、デフォルト アクションが必要で、新しいアクションを追加できるようにする) ことです。

で試しました

dragFeature.events.on(
        {   
            onComplete: function(feature){
            alert(feature);
            }
        }
);

しかし、これは機能していません。何か案が?

4

2 に答える 2

0

JavaScript では関数も値です。必要に応じて再定義できる関数を呼び出すだけです。擬似コード:

onComplete: function(feature) {
  // Do common stuff
  // ...
  dragOnCompleteDoMore(feature);
  // Where dragOnCompleteDoMore has been changed before the drag was started depending on some criteria.
}
于 2013-05-17T14:57:23.420 に答える