如何在传单弹出窗口中捕获点击事件

Rud*_*udi 3 leaflet

我在传单地图上同时打开多个弹出窗口,它们可以重叠。如果点击,我想在前面显示一个弹出窗口。虽然我map.on('click', function(e) {do something;});可以轻松地点击地图,但我似乎无法用弹出窗口做同样的事情。

我怎样才能在 L.Popup 上捕捉点击事件?

iH8*_*iH8 6

L.Popup 的 setContent 方法接受 HTML 元素,因此您可以执行以下操作:

var content = L.DomUtil.create('div', 'content'),
    popup = L.popup().setContent(content);

L.DomEvent.addListener(content, 'click', function(event){
    // do stuff
}, context);
Run Code Online (Sandbox Code Playgroud)

参考:

https://leafletjs.com/reference.html#domutil

https://leafletjs.com/reference.html#event

  • 或者你可以直接将事件绑定到 `L.popup#_contentNode` 或 `L.popup#_container`(虽然它们被认为是私有的):`L.DomEvent.on(popup._contentNode, 'click', function(e) { /* 等等 */ });` (3认同)