Как добавить событие click на кнопку балуна Яндекс Карт?

Здравствуйте, пытаюсь повесить на кнопку балуна событие on click,
'balloonContentBody': '<input type="button" value="Выбрать" class="baloon-button">'

$.ajax({
        // получаю метки и балуны
        }).done(function(data){
            data = JSON.parse(data);
            if (data['success'] === true){
                let objectManager = new ymaps.ObjectManager({
                    clusterize: true,
                    gridSize: 32,
                    clusterDisableClickZoom: true
                });
                map.geoObjects.add(objectManager);
                objectManager.add(data['information']);

                let layout = map.getBalloon().getLayout();
                YMaps.jQuery(layout.getRootNodes()).find('.baloon-button').click(function() {
                    console.log('Do something...');
                });
            } else{
                console.log(data['error']);
            }
        });
но получаю ошибку
map.getBalloon is not a function

Такой вариант тоже не работает
$('.baloon-button').on('click', function(){ 
    console.log('Do something...'); 
});
  • Вопрос задан
  • 1598 просмотров
Решения вопроса 1
@Chebaa Автор вопроса
Евгений ответил в комментарии
через собственный шаблон балуна

Как-то так
let myBalloonFooterBodyLayout = ymaps.templateLayoutFactory.createClass(
    '<input type="button" value="Выбрать" class="baloon-button">', {
        build: function() {
            myBalloonContentBodyLayout.superclass.build.call(this);
            $('.baloon-button').on('click', function() {
                console.log('Do something...');
            });
        }
    });
let objectManager = new ymaps.ObjectManager({
    contentFooterLayout: myBalloonFooterBodyLayout
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы