Так случается, что в модальное окно надо установить какой-нибудь компонент который зависит от jQuery. Например, у нас в модальном окне есть простенький код, который выводит облако при наведении. например у нас есть вот такой код:
<div class="n_c_child n_c_child_grid"> Покупая у нас Вы помогаете детям! <div class="n_help n_help_child" data-tool-text="Часть средств от продажи товаров, направляется в Детский дом (название уточним)"></div> </div> <script> $.fancybox.open({ title: 'Оформление заказа', href: '#popup-cart', maxWidth : 944, fitToView : false, autoSize : true, closeClick : false, openEffect : 'none', closeEffect : 'none', openSpeed: 0, }); $(".n_help").hover(function () { var el = $(this); text = el.attr('data-tool-text'); el.html('<div class = "n_help_tool">' + text + '</div>'); }, function () { var el = $(this); el.html(''); } <script>
В других местах такой код срабатывал, а в модальном окне созданным fancybox, к сожалению нет. Это происходит потому что модальное окно загрузилось, а код срабатывающий при наведении нет… Что бы исправить, надо немного изменить вызов модального окна fancybox:
$.fancybox.open({ title: 'Оформление заказа', href: '#popup-cart', maxWidth : 944, fitToView : false, autoSize : true, closeClick : false, openEffect : 'none', closeEffect : 'none', openSpeed: 0, beforeShow : function(){ $(".n_help").hover(function () { var el = $(this); text = el.attr('data-tool-text'); el.html('<div class = "n_help_tool">' + text + '</div>'); }, function () { var el = $(this); el.html(''); } ); } });
Как мы видим, наш код который отображает облако с подсказкой, подгружается до модального окна и теперь отлично отрабатывает.