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



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

我正在尝试这样的东西,但它不起作用:

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;
});

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

var link = L.DomUtil.create('a');
link.href = '#';
link.textContent = 'Test';
L.marker([39.74, -104.99]).bindPopup(link).addTo(cities);

最新更新