[英]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.