![](/img/trans.png)
[英]How do I prevent a parent's onclick event from firing when a child anchor is clicked?
[英]Using Leaflet/MarkerCluster/Label, how do I prevent the 'onclick' from firing when adding a marker?
我有以下代码用于向基于Leaflet的地图添加标记:
// In function Init()
markers = L.markerClusterGroup(); // markers is Global
// In function addMarker()
var marker = L.marker(L.latLng(lat,lon), {icon: myIcon})
.bindLabel(name, {noHide: true,direction: 'right'});
marker._myId = name;
marker.on('click',alert(marker._myId));
markers.addLayer(marker);
map.addLayer(markers);
没有注册“点击”事件,一切都会正常进行,并且符合预期。 当我添加用于注册事件的代码行时,它会在添加标记时触发,但在单击图标时不会触发。
更改marker.on函数可以解决此问题。 我不知道为什么您需要中介功能,但是它起作用了。
代替这个:
marker.on('click',alert(marker._myId));
做这个:
marker.on('click',onMarkerClick);
和这个:
function onMarkerClick(e) {
alert(e.target._myId);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.