Не работает jquery внутри ballon

56
13 января 2018, 00:39
myPlacemark = new ymaps.Placemark([55.907228, 31.260503], {
        balloonContentHeader: "Балун метки",
        balloonContentBody: "<button class='set-moderated'>модерировать</button>",
        balloonContentFooter: "Подвал",
        hintContent: "Хинт метки"
    });
$('.set-moderated').on('click', function() {
    alert('успешно промодерировано');
});

создаю метку с балуном, в balloonContentBody вписываю html c классом 'set-moderated' для срабатывания события jquery, но оно не срабатывает. Знаю, что есть решение через создание своего шаблона. Но есть ли более простое решение? Ведь у меня на сайте используются много виджетов, и они все стандартизированно рендерятся, куда мне нужно,- я их прям туда в balloonContentBody и рендерю, и переписывание шаблонов мне как-то не очень нравится.

Answer 1

Добрый день. В момент вызова "on" элемента ".set-moderated" еще нет на странице. В вашем случае правильным способом будет делегирование события. Не подписаться на клики всех ".set-moderated", а на клики всех ".set-moderated" внутри какого-то другого элемента, который уже существует на момент вызова "on".

Что-то типа

$("#map").on( "click", ".set-moderated", function () { ... });

Подробнее про делегирование событий в jquery http://api.jquery.com/on/#direct-and-delegated-events

Answer 2

Очень актуальная для меня тема... пытался определить onClick передавая его через properties в кастромном шаблоне. ничего ен вышло - функция привелкась к строке при передаче в шаблон. Есть ли возможность связаь функцию с нажатием, не используя поиск по dom и глобальные объекты?

READ ALSO
Tooltip на JavaScript [требует правки]

Tooltip на JavaScript [требует правки]

tomilinosamoletru/building/15 подскажите пожалуйста, может кто видел такое раньше, на сайте внизу есть "шахматная доска", при hover на синие квадраты вылазит...

89
Коррекция выпадающего меню

Коррекция выпадающего меню

Привет! Пытаюсь выстроить меню с выпадающими блоками и у меня возникли небольшие затруднения

60
Неразбериха с кодировкой

Неразбериха с кодировкой

В phpmyadmin отображается некорректно когда добавляю запись на русском через сервер

78