我发现Google Map中的dragend事件也会触发IE中的click事件。在Firefox和Chrome中都可以。打开IE / FF / Chrome控制台,看看这个小提琴的结果。任何解决方法将不胜感激。
错误在here提交。
答案 0 :(得分: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')
});