Нажмите за пределами отметки (или точки), чтобы закрыть что-то на Mapbox
На моем Mapbox есть 3 слоя.id: 'Map'
, id:'Cluster'
, id: 'Point'
map.on('click', 'Point', function (e) {
$(".page-wrapper").addClass("toggled");/*show sidebar*/
});
Этот код означает, когда я нажимаю на точку на слое id: 'Point'
, боковая панель покажет.
$(".page-wrapper").removeClass("toggled");/*hide sidebar*/
И этот код будет скрывать боковую панель при добавлении к событию.
Теперь я хочу щелкнуть в любом месте без точки на слое id: 'Point'
боковая панель будет скрыта.
Как я могу это сделать?
1 ответ
Используйте обработчик события click для всей карты и preventDefault
функция:
map.on('click', 'point', function(e) {
e.preventDefault();
console.log('show sidebar');
});
map.on('click', function(e) {
if (e.defaultPrevented === false) {
console.log('hide taskbar');
}
});