динамически добавляемые элементы с class="modal"

  • 4 Ответов
  • 180 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

avilovi

  • ***
  • 36
  • 0
Доброго времени,

Столкнулся с необходимостью использовать модальные окна.
Прописываю JHTML::_('behavior.modal'); и добавляю class="modal" к ссылкам - все работает.

А вот ссылки, которые добавляются к документу димамически с помощью jQuery, открываются в том же окне, а не во всплывающем.

Кто-нибудь с таким сталкивался? И знает решение?  ^-^

*

effrit

  • *****
  • 7441
  • 815
  • effrit.com
на сколько я понимаю, дело в очередности вызова.
ссылки формируемые через php уже есть на странице не момент срабатывания скрипта, подключаемого JHTML::_('behavior.modal');
скорее всего в документ встраивается функция на jquery, которая обрабатывает ссылки.
так что логично было бы или попытаться вставлять ссылки до её срабатывания или же посмотреть, что это вообще такое и можно ли вызвать вручную эту функцию с передачей ей динамически сформированной ссылки

*

effrit

  • *****
  • 7441
  • 815
  • effrit.com
типа вот
Код
SqueezeBox.assign($('a'));
т.е. насоздавали ссылок, потом вызвали для нужного элемента/класса инициализацию.

*

fsv

  • *******
  • 2504
  • 367
Прописываю JHTML::_('behavior.modal'); и добавляю class="modal" к ссылкам - все работает.
При этом в логах должно быть
JHtmlBehavior::modal is deprecated. Use the modal equivalent from bootstrap.
Или на fancyBox посмотрите.

А вот ссылки, которые добавляются к документу димамически с помощью jQuery, открываются в том же окне, а не во всплывающем.
Потому что новых ссылок нет в "наборе", создаваемом при инициализации SqueezeBox.
Я им не пользуюсь, так что не уверен, попробуйте после динамической вставки ссылки вызвать
Код: javascript
SqueezeBox.assign(jQuery('a.modal').get(), {parse: 'rel'});
Заказать разработку:    расширения Joomla  |   интерфейсы на javascript(jQuery)  |  мобильные приложения

*

avilovi

  • ***
  • 36
  • 0
Гениально! Ура! Заработало!  :D