リーフレットマップを稼働させています。マップ上に一連のポリゴンを (GeoJSON 経由で) オーバーレイし、各ポリゴンにポップアップを添付します。各ポップアップには、そのポリゴンに関する情報が表示されます。
ポップアップ内に、クリックすると、AJAX を介してさらに小さなポリゴンを取得して表示する JavaScript 関数を実行するリンクが必要です。
通常のjQuery/Javascriptクリックイベントを介してリンクのクリックをキャッチするスクリプトを取得できません。これが通常の意味です(以下は機能しません):
$('a .smallPolygonLink').click(function(e){
console.log("One of the many Small Polygon Links was clicked");
});
bindPopup 部分は以下の通りです。作成時に各ポリゴンで実行され、ポリゴンをクリックすると正しくポップアップします。リンクは表示されますが、クリックしても上記のコードは実行されません。
var popupContent = "Basic Information..." + '<a class="smallPolygonLink" href="#">Click here to see the smaller polygons</a>';
layer.bindPopup(popupContent);
この例を示す JSFiddle を次に示しますが、はるかに単純な形式になっています。http://jsfiddle.net/2XfVc/4/