簡體   English   中英

使用Leaflet / MarkerCluster / Label,如何在添加標記時阻止“ onclick”觸發?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM