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

这就是我一直在寻找的:

dragFeature.onStart=function(){
}

发送!!!

于 2013-05-22T10:55:58.540 回答
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 回答