OpenLayers 3:删除事件监听器

时间:2015-08-27 15:16:05

标签: javascript openlayers-3

Openlayers 3中如何删除附加的事件侦听器:

var a = map.on("pointerdrag",function (e) {
             // event handler
});

var b = map.on("pointerdrag",function (e) {
             // event handler
});

如何仅删除列表器a并保持b有效?

2 个答案:

答案 0 :(得分:11)

啊,非常简单!它在API Docsvoid PrintName(char *name); 中,但对于off函数非常反直觉。

所以要删除事件监听器unByKey

a

将删除map.unByKey(a); 侦听器但保持a

注意:这将适用于发出事件的打开图层3中的任何对象。像图层,交互等。

答案 1 :(得分:1)

我只是想知道同样的事情,似乎off将是删除事件监听器的适当方法。您也可以直接在事件回调中调用它:

map.on("pointerdrag", function (e) {
    map.unByKey(e);
});

这应仅删除此特定事件。