2

Googleマップスクリプトに次のコードがあります...

<a class='btn btn-modal' data-target='popup.html'>Go</a>

スクリプトの外部では、リンクは機能$('.btn-modal').click(function() {し、(ページ上で) 関数を実行しますが、infoWindowHtml では機能しません。

ゴーグルマップ内から私のページでスクリプトを実行できない理由を知っている人はいますか?

Googleマップが載っているページの上部で実行したいスクリプト...

$(document).ready(function () {
    // Support for AJAX loaded modal window
    $('.btn-modal').click(function () {
        $.get($(this).attr('data-target'), function (data) {
            $('#modal').html(data);
            $('#modal').modal('show');
        }, 'html');
    });
});

リンクを示す Google マップの抜粋

map = new google.maps.Map(document.getElementById("map"), options);
// Create an Array for the Markers
var markers = [];
var latLng = new google.maps.LatLng(#local.poiLat()#, #local.poi()#);
var iconImg = '/assets/images/pin-50.png';
var marker = new google.maps.Marker({
    icon: iconImg,
    draggable: true,
    position: latLng,
    title: '#left(local.poiTxt(),60)#'
});
// Action Listener for the Marker
google.maps.event.addListener(marker, "click", function (event) {
    var area = this.get('location');
    var infoWindowHtml = "<a class='btn btn-modal' data-target='popup.html'>Go</a>";
    infoWindow.setContent(infoWindowHtml);
    infoWindow.open(map, this);
});
4

1 に答える 1

2

情報ウィンドウはロード時の DOM の一部ではありません。そのため、次onの代わりに使用する必要がありclickます。

$(document).on('click','.btn-modal',function() {

documentロード時に存在する親要素はどこですか-おそらくマップの...そうidですdiv

$('#map').on('click','.btn-modal',function() {

.on() のドキュメントはこちら

于 2012-05-11T15:04:12.357 に答える