我尝试将click事件添加到传单标记中,如下所示:
L.marker([41.866056100409044, 12.5349304759025576]).on('click', red).bindLabel('kebabbari (Ali Baba)', {noHide: true}).addTo(map).showLabel();
但结果只是没有任何点击事件的标记("红色()"功能存在)
Marker in leaflet, click event无效
答案 0 :(得分:0)
只是使用不同的方案运行多个测试,它们都可以使用onclick或mouseover。我使用Leaflet 1.03我认为你使用的是以前的版本。
var Marker = L.marker([41.866056100409044, 12.5349304759025576]).on('click', onClick).addTo(map)
添加如下新功能: -
function onClick(e) {
alert(this.getLatLng());
}
试试这个,它会证明你的onclick功能可以正常工作。我认为传单插件标签可能会干扰它,因为它有一个Onclick选项,你可能需要进一步研究它。
但有时你需要证明你可以让它先工作然后再一点一点地添加东西。
Leaflet.Label确实与onclick有冲突。
https://github.com/Leaflet/Leaflet.label/issues/132论坛中的这个问题将帮助您解答详细信息。
您需要将事件专门绑定到marker.label,例如:
L.DomEvent.addListener(marker.label, 'click', function(e) { this.togglePopup() }, marker);
我不得不深入研究代码以解决这个问题,值得在README中提及如何访问标签并将事件绑定到它。