传单:如何在弹出窗口中为 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.Map
的 popupopen
事件并在打开后直接获取对弹出窗口内容的引用:
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);
需要将选择器写入传单弹出窗口中的链接。
我正在尝试类似的方法,但它不起作用:
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.Map
的 popupopen
事件并在打开后直接获取对弹出窗口内容的引用:
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);