传单:如何在弹出窗口中为 link 创建选择器

leaflet: how to create selector to link in popup

需要将选择器写入传单弹出窗口中的链接。

我正在尝试类似的方法,但它不起作用:

L.marker([39.74, -104.99]).bindPopup("<a href='#' class='trigger-to-page'>test</a>").addTo(cities);
$( document ).ready(function() {
    $('a[class=trigger-to-page]').click(function() {
            console.log("123");
        });
});

http://jsfiddle.net/x52j9da7/4/

有人可以帮忙吗?

弹出窗口打开后,您只能查询弹出窗口 HTML 内容中的元素。当弹出窗口打开时,内容会添加到 DOM 中,一旦关闭就会再次删除。你想如何解决这个问题取决于你实际想做什么,但有多种方法:

使用 L.Mappopupopen 事件并在打开后直接获取对弹出窗口内容的引用:

map.on('popupopen', function (e) {
    var link = e.popup._contentNode.firstChild;
});

或者不要从字符串内容创建 link,而是创建实际元素并存储对该元素的引用,以便您可以在需要时使用它:

var link = L.DomUtil.create('a');
link.href = '#';
link.textContent = 'Test';

L.marker([39.74, -104.99]).bindPopup(link).addTo(cities);