我正在开发一个使用Leaflet的项目。我有一个大的地图,我在浏览器div中渲染,当用户点击一个元素时,我正在它上面渲染一个popup div(使用z-ordering)。
问题是如果你点击弹出窗口'并拖动,传单拖动底层地图,好像div不在那里。如果我在div中放入一个选择下拉列表,这会产生奇怪的行为,并且可能会禁止子div中的任何拖放行为。
如何阻止div将发生在其边界内的事件发送到传单?我尝试使用css属性指针事件,但这似乎没有做任何事情。查看已发布的传单问题似乎也没有说明问题。
答案 0 :(得分:2)
将事件侦听器附加到自定义弹出窗口,然后在其上运行stopPropagation
并选择preventDefault
。
Leaflet有一些实用程序和缩写,例如:
L.DomEvent.on(divElementForMyCustomPopup, 'click mousedown', function(ev){
L.DomEvent.stop(ev);
});