Как сделать событие .swipe на динамически созданный объект?
господа. Такой вопрос, у меня есть карта yandex api на сайте. На мобильных устройствах я хотел бы сделать исчезновение балуна по свайпу на него вниз. Я подключил библиотеку touchswipe, у меня возник такой вопрос. Так как балун создается динамически, то можно ли как-то событие .swipe привязать на динамический созданный объект?
$(".ymaps-2-1-79-balloon").swipe( {
swipe:function(event, down, distance, duration, fingerCount, fingerData) {
$(".ymaps-2-1-79-balloon").remove()
},
threshold:0
});
Ответы (1 шт):
Очень странное решение обращаться напрямую к DOM-объекту. В API есть собственные методы для закрытия баллуна, которые вы также можете подвязать к своему событию.
Выбор метода зависит от того, откуда вы вызываете баллун: есть баллун карты, баллун геообъекта, баллун кластеризатора, баллун менеджера объектов, баллун хотспотного слоя — к каждому следует обращаться через свой менеджер.
Например, если вы хотите закрыть баллун геообъекта, используйте метод менеджера:
geoObject.Balloon(geoObject).close();
и т. д.