我有一个与标记相关联的Leaflet弹出窗口,向用户提供了两个按钮,可以使用jQuery取消或转到另一页。按钮最初运行良好,但是如果您单击标记上的位置使弹出窗口消失,然后再次单击标记以使弹出窗口重新显示,则按钮突然无法工作。我没有在浏览器控制台中收到任何错误消息。可能是什么问题呢?
var marker;
var addPopup = function(e, marker) {
var popup = L.popup({closeButton:false})
.setContent('<button type="submit" class="btn btn-primary" id="ok">Ok</button><button type="submit" class="btn btn-primary" id="nok">Cancel</button>');
marker.bindPopup(popup).openPopup();
var Coordinates= JSON.stringify(e.latlng);
popupAction(Coordinates, marker);
};
var popupAction= function(Coordinates, marker){
$('#ok').on('click', function (){
console.log('do something');
});
$('#nok').on('click', function (){
mymap.removeLayer(marker);
});
};
mymap.on('click', function (e) {
if (marker) {
mymap.removeLayer(marker);
}
marker = new L.Marker(e.latlng).addTo(mymap);
addPopup(e, marker);
});