Javascript 单击事件关闭窗口后不触发

Javascript 单击事件关闭窗口后不触发,javascript,leaflet,Javascript,Leaflet,我正在使用带有Openstreetmaps的传单JS,并在单击时显示一个弹出窗口 如果我点击地图,弹出窗口就会打开 但是,如果我先关闭当前的弹出窗口,为什么没有触发单击事件?(在这种情况下,我需要在地图上单击两次以打开新的弹出窗口) //地图的中心 var ll=[-37.8136,144.9631]; 变量层=[ //添加OSM层 L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png'{ 缩放:18 }) ] //地图的

我正在使用带有Openstreetmaps的传单JS,并在单击时显示一个弹出窗口

如果我点击地图,弹出窗口就会打开

但是,如果我先关闭当前的弹出窗口,为什么没有触发单击事件?(在这种情况下,我需要在地图上单击两次以打开新的弹出窗口)

//地图的中心
var ll=[-37.8136,144.9631];
变量层=[
//添加OSM层
L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png'{
缩放:18
})
]
//地图的选项
变量选项={
中心:ll,,
缩放:12,
滚轮缩放:错误,
属性:“©;参与者”,
层:层,
}
var map=L.map('map',选项);
var popup=L.popup();
函数onMapClick(e){
日志(“点击地图”);
弹出窗口
.setLatLng(即latlng)
.setContent(“您在“+e.latlng.toString()处单击了地图”)
.openOn(地图);
}
map.on('click',onmaclick)
#地图{
高度:400px;
}

如果我理解正确,您的问题是关于您代码片段中的一个奇怪行为:

  • 单击地图上的某个位置打开一个弹出窗口(根据您的代码)
  • 通过单击右上十字关闭弹出窗口
  • 通过单击(现在没有弹出窗口)地图,尝试在某处打开新的弹出窗口。=>第一次单击不会触发单击事件(因此不会打开弹出窗口)。第二次单击的行为与预期相同(即,与步骤1类似)。如果跳过步骤2,则第一次单击的行为与预期相同
  • 这可能是您正在使用的0.6.4版手册中的一个错误

    当前的稳定版本为0.7.7,其工作原理与您的案例所期望的一样:

    //地图的中心
    var ll=[-37.8136,144.9631];
    变量层=[
    //添加OSM层
    L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png'{
    缩放:18
    })
    ]
    //地图的选项
    变量选项={
    中心:ll,,
    缩放:12,
    滚轮缩放:错误,
    属性:“©;参与者”,
    层:层,
    }
    var map=L.map('map',选项);
    var popup=L.popup();
    函数onMapClick(e){
    日志(“点击地图”);
    弹出窗口
    .setLatLng(即latlng)
    .setContent(“您在“+e.latlng.toString()处单击了地图”)
    .openOn(地图);
    }
    map.on('click',onmaclick)
    
    #地图{
    高度:400px;
    }