2016-03-02 2 views
1

Я работаю над проектом, который использует Листовку. У меня есть большая карта, которую я рендеринга в div браузера, и я показываю всплывающее div (используя z-ordering) над ним, когда пользователь нажимает на элемент.halt Распространение событий в бюллетене

Проблема в том, что если вы нажмете на «всплывающее окно» и перетащите, лифлет перетащит базовую карту, как если бы div не был там. Это приводит к странному поведению, если я помещаю выделение select в div и, вероятно, запрещает любое поведение перетаскивания в дочернем div.

Как отключить div от отправки событий, которые происходят в пределах его границ, в листе? Я пробовал играть с указателями-указателями свойств css, но это, похоже, ничего не делало. Оглядываясь на уже поставленные вопросы о листовке, похоже, не освещало проблему.

ответ

2

Прикрепите прослушиватели событий к пользовательскому всплывающему окну и запустите stopPropagation и, при желании, preventDefault на нем.

листовка имеет несколько утилит и Shorthands для этого и т.д .:

L.DomEvent.on(divElementForMyCustomPopup, 'click mousedown', function(ev){ 
    L.DomEvent.stop(ev); 
}); 
+0

для меня работ 'L.DomEvent.disableClickPropagation (элемент);' –

Смежные вопросы