【问题标题】:jQuery not working perfectly in Info Window of Google Map v3 with Bootstrap 3jQuery 在带有 Bootstrap 3 的 Google Map v3 的信息窗口中无法正常工作
【发布时间】:2015-02-14 14:45:45
【问题描述】:

我正在尝试创建一个包含一些点击事件的信息窗口。

但它并不完美。

我在 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);
});

谁能帮帮我?

提前感谢您的帮助

【问题讨论】:

标签: javascript jquery twitter-bootstrap google-maps google-maps-api-3


【解决方案1】:

我认为这是因为您尝试在加载 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()

【讨论】:

    猜你喜欢
    • 2015-04-15
    • 1970-01-01
    • 2011-03-24
    • 1970-01-01
    • 2011-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多