マップ上でLeafpileというLeafletおよびLeafleatプラグインを使用しています。基本的にはデータベースからの結果のセットであり、このマップのjavascriptコードは次のとおりです。
var cmAttr = '© 2013 OpenStreetMap',
cmUrl = 'http://{s}.tile.cloudmade.com/BC9A493B41014CAABB98F0471D759707/{styleId}/256/{z}/{x}/{y}.png';
var minimal = L.tileLayer(cmUrl, {styleId: 1, attribution: cmAttr})
var southWest = new L.LatLng(3.8642546157214084, -199.86328125);
var northEast = new L.LatLng(73.12494524712693 , -24.08203125);
var bounds = new L.LatLngBounds(southWest, northEast);
var markers = new L.LeafpileGroup();
L.marker([40.91, -74.15]).bindPopup('The html content').addTo(markers),
L.marker([37.7, -121.90]).bindPopup('The html content').addTo(markers);
var map = L.map('map', {
center: [34.488616,-97.8692325],
minZoom: 4,
scrollWheelZoom: false,
zoom: 5,
layers: [minimal, markers]
});
map.setMaxBounds(bounds);
私が抱えている問題は、HTML内の結果のリンクをクリックしたときに、マップ上でポップアップ(map.openPopup(popup)メソッドなど?!)を開きたいということです。
<ul id="set">
<li><a href="#">RESULT #1</a></li>
<li><a href="#">RESULT #2</a></li>
</ul>
私はすべてを試しましたが、成功しませんでした。このイベントをjQuery関数にバインドしたいのですが、次のようになります。
$(document.body).on("click",'#set a', function(e) {
//other code that I need
});