【问题标题】: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()。