3

我发现 Google Map 中的 dragend 事件也会触发 IE 中的 click 事件。在 Firefox 和 Chrome 中都可以。打开 IE/FF/Chrome 控制台,看看这个小提琴的结果。任何解决方法将不胜感激。

http://jsfiddle.net/ABqMH/8/

在这里提交的错误。

4

1 回答 1

2

这是一个快速的解决方法

var map;
var elevator;
var dragged = false;
var myOptions = {
    zoom: 6,
    center: new google.maps.LatLng(46.87916, -3.32910),
    mapTypeId: 'terrain'
};
map = new google.maps.Map($('#map')[0], myOptions);
var marker = new google.maps.Marker({
            map: map,
    position: new google.maps.LatLng(46.87916, -3.32910),
    draggable: true
});
google.maps.event.addListener(marker, 'dragend', function () {
    console.log('dragend');
    dragged = true;
    setTimeout(function(){ dragged = false; }, 200);
        });
google.maps.event.addListener(map, 'click', function (evt) {
if (dragged) return;
console.log('click')
});
于 2012-04-11T06:56:23.257 回答