jQuery 在 Google 地图 v3 的信息 Window 中无法正常工作 Bootstrap 3

jQuery not working perfectly in Info Window of Google Map v3 with Bootstrap 3

我正在尝试创建带有一些点击事件的信息 window。

但它并不完美。

我在 jQuery 中所做的代码是-

        //Set Center Button in Map ->> Click to Change Center of the Map
$(".change_center_map_button").click(function(clicked_item)
{
    clicked_item.preventDefault();
    clicked_item.stopPropagation();
        //Do what ever I want
    console.log('Set Center Button in Map Clicked');
    var latitude_this = $(this).parent().parent().parent().attr('lat');
    var longitude_this = $(this).parent().parent().parent().attr('lon');
    newMapCenter(latitude_this,longitude_this);
});

有人能帮帮我吗?

在此先感谢您的帮助

我认为这是因为您尝试在加载 DOM 之前设置点击处理程序。尝试:

$(document).ready(function() {
    $(".change_center_map_button").click(function(event) {
        var clicked_item = $(this).parent().parent().parent();

        //Do what ever I want
        console.log('Set Center Button in Map Clicked');
        var latitude = clicked_item .attr('lat');
        var longitude = clicked_item .attr('lon');
        newMapCenter(latitude, longitude);

        event.preventDefault();
        event.stopPropagation();
    });
});

如果您需要直播活动(处理来自 ajax 请求的新内容),请改为:

$(document).on("click", ".change_center_map_button", function() {
    var clicked_item = $(this).parent().parent().parent();

    //Do what ever I want
    console.log('Set Center Button in Map Clicked');
    var latitude = clicked_item .attr('lat');
    var longitude = clicked_item .attr('lon');
    newMapCenter(latitude, longitude);

    event.preventDefault();
    event.stopPropagation();
});

您还应该看看“closest”以改进模式 $(this).parent().parent().parent()