Добрый день!
Столкнулся с некорректной работой обработчиков событий MouseOver/MouseOut. Задача состоит подменять стиль иконки у маркера при наведении мыши.
YMaps.Events.observe(map, map.Events.Click, function(event){
var lat = event.getGeoPoint().getLat();
var lng = event.getGeoPoint().getLng();
var point = new YMaps.GeoPoint(lng, lat);
var defaultMarkerStyle = new YMaps.Style();
defaultMarkerStyle.iconStyle = new YMaps.IconStyle();
defaultMarkerStyle.iconStyle.href = "/img/gmap/house_object.gif"
var hoverMarkerStyle = new YMaps.Style();
hoverMarkerStyle.iconStyle = new YMaps.IconStyle();
hoverMarkerStyle.iconStyle.href = "/img/gmap/house_object_hover.gif"
var marker = new YMaps.Placemark(point, {
hideIcon: false,
style: defaultMarkerStyle
});
YMaps.Events.observe(marker, marker.Events.MouseOver, function(){
this.setStyle(hoverMarkerStyle);
this.update();
});
YMaps.Events.observe(marker, marker.Events.MouseOut, function(){
this.setStyle(defaultMarkerStyle);
this.update();
});
map.addOverlay(marker);
})
Подмена стиля иконки происходит только при наведении курсора. При его удалении от маркера, стиль не возвращается в прежнее состояние (defaultMarkerStyle). В чем может быть потенциальная проблема?