Если есть схожие посты, просьба дать ссылку (я не нашел)
Суть:
Не могу понять как найти ссылку в балуне и навесить на нее свой обработчик
var placemark = new YMaps.Placemark(new YMaps.GeoPoint(obj.x, obj.y), {hideIcon: false, style: 'default#houseIcon'});
placemark.name = '';
placemark.description = '';
var balContent = '';
balContent += '<p><b>'+'Some my content'+'</b></p><br />';balContent += '<p><a href="#" name="obj_lnk" id="'+obj.id+'" >Детальная информация</a></p>';
placemark.setBalloonContent(balContent);
map.addOverlay(placemark);
Далее я намереваюсь навесить обработчик с вызовом метода из моего js-модуля на добавленную в балун ссылку. Все попытки тщетны. Пытался через Events.observe и просто найти этот элемент и навесить JQuery.click(), но реакции ноль. Понимаю, что очевидно сама карта отрисовывается вероятно в своем контексте, или может вставляет фрейм содержащий себя, но как тогда действовать, через YMaps.JQuery?. Понимаю также, что очевидно при поиске ссылки в балуне, он очевидно должен быть открыт, но события отлавливающего сей момент в документации также не нашел. Вот что я пытался сделать:
YMaps.jQuery('a#'+obj.id).bind('click',function(){
try{alert('1[obj.id]:'+obj.id);}catch(e_id_1){aler t('1-exception:'+e_id_1); }
try{alert('2[this.id]:'+YMaps.jQuery(this).attr('i d'));}catch(e_id_2){alert ('2-exception:'+e_id_2);}
try{
MyJsModule.myMethod(obj.id);
}catch(e){
alert(e);
try{
MyJsModule.myMethod(YMaps.jQuery(this).attr('id')) ;
}catch(e2){
alert(e2);
}
}
});
Просто навесить click на балун целиком, может както так? Но тогда непонятно как получить у метки привязанный к ней балун.
YMaps.Events.observe(placemark, placemark.Events.Click, function () {
alert('1');
try{
MyJsModule.myMethod(obj.id);
}catch(e){
alert(e);
}
alert('2');
}, MyJsModule, true);
Как использовать YMaps.Placemark.BalloonOpen - совершенно непонятно. Документация по методу - никакая!
Вобщем документацией по api в целом недоволен. Подскажите, пожалуйста, на примере!