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);
});

Это должно удалить только это конкретное событие.

Другие вопросы по тегам