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 ответа
Ах, это довольно просто! Это в Документах API: unByKey
, но очень нелогичное имя для функции выключения.
Таким образом, чтобы удалить слушатель события a
:
map.unByKey(a);
Удалит a
слушатель, но держать b
на.
Примечание: это будет работать с любым объектом в Open Layers 3, который генерирует событие. как слои, взаимодействия и т. д.
Мне просто интересно то же самое, кажется, off
будет подходящим методом для удаления слушателя события. Вы также можете вызвать это непосредственно в обратном вызове события:
map.on("pointerdrag", function (e) {
map.unByKey(e);
});
Это должно удалить только это конкретное событие.