在Openlayers 3中如何删除附加的事件侦听器:
var a = map.on("pointerdrag",function (e) {
// event handler
});
var b = map.on("pointerdrag",function (e) {
// event handler
});
如何仅删除列表器a
并保持b
有效?
答案 0 :(得分:11)
啊,非常简单!它在API Docs:void PrintName(char *name);
中,但对于off函数非常反直觉。
所以要删除事件监听器unByKey
:
a
将删除map.unByKey(a);
侦听器但保持a
。
注意:这将适用于发出事件的打开图层3中的任何对象。像图层,交互等。
答案 1 :(得分:1)
我只是想知道同样的事情,似乎off
将是删除事件监听器的适当方法。您也可以直接在事件回调中调用它:
map.on("pointerdrag", function (e) {
map.unByKey(e);
});
这应仅删除此特定事件。