【发布时间】:2019-11-16 04:58:31
【问题描述】:
我正在使用 esrileaflet 库在具有图标 l.divicon 的地图上呈现标记,该图标在自定义 HTML 中有一个按钮。
我已将一个事件绑定到被调用的按钮单击,但同时打开了我不想要的标记弹出窗口。
由于l.divicon 在其自定义 HTML 及其标记部分中包含一个按钮,因此每次我单击该按钮时,它都会显示一个警报并打开标记弹出窗口。如何停止标记弹出窗口?
let markerIcon = L.divIcon({
iconSize: L.point(32, 32),
iconAnchor: [5, 5],
html: '<div><img src= "url here"><button id="MyBtn"></button></div>'
});
marker.setIcon(markerIcon);
$("#MyBtn").on('click', function(e) {
alert("Hi there");
});
【问题讨论】:
-
猜测,但请尝试在
click处理程序中添加e.stopPropagation()以阻止事件在 DOM 中冒泡 -
也可以试试
e.preventDefault()。 -
它成功了,谢谢@RoryMcCrossan,分享你的答案,我会将其标记为已接受。
-
很高兴它有帮助。我为你添加了答案
标签: javascript jquery leaflet esri-leaflet esri-oss