javascript - 如何防止传单弹出窗口关闭

标签 javascript leaflet

我有传单弹出窗口绑定(bind)到标记。我的问题是,当您单击标记时,它自己的弹出窗口会关闭,我希望它们始终保持打开状态。

具体来说,我知道我可以使用 autoClose 选项来防止在单击另一个标记时关闭弹出窗口,我说的是在单击已绑定(bind)的标记时防止弹出窗口关闭。

我一直在阅读 Leaflet 文档,似乎没有弹出选项可以防止这种情况。

可能有某种插件可以为弹出窗口添加选项,但我没有找到任何..

也许我可以创建自己的弹出类,并阻止它关闭?但我真的不知道该怎么做。

谢谢。

最佳答案

您是否尝试过同时设置 closeOnClickautoClosefalse ?您可以在此处运行代码段以检查这是否是您想要的吗?

var map = L.map('map').setView([38, -8], 7)

L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png').addTo(map);

for (let i=0; i<10; i++) {
  const popup = L.popup({
    closeOnClick: false,
    autoClose: false
  }).setContent("popup " + i);
  
  L.marker([
    getRandom(37, 39), 
    getRandom(-9.5, -6.5)
  ]).addTo(map).bindPopup(popup);
}

function getRandom(min, max) {
  return Math.random() * (max - min) + min;
}
#map {height: 200px}
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/leaflet.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/leaflet.js"></script>
<div id="map"></div>

关于javascript - 如何防止传单弹出窗口关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52261113/

相关文章:

javascript - 如何在jsx中模仿css多个类名

javascript - 用于扩展信息框的 Leaflet 事件监听器

javascript - 在 Javascript 中标准化地理纬度/经度

javascript - 如何在 React 中动态导入图像?

javascript - 从不相关的 div 中查找属性 .on ("click")

javascript - 如何在 Javascript 中复制 Python 的 dict.items()?

javascript - Javascript 中的窗口 ['Map' 是什么意思

javascript - 更改 Leaflet GeoJSON 层中每个功能的样式

d3.js - 如何为 D3.js 条形图中的条形指定自定义颜色?

javascript - jQuery 克隆功能在 Chrome 中不起作用