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()
。
我正在尝试创建带有一些点击事件的信息 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()
。