Fancybox2.1.3 не работает с Backbone и IE7

У меня есть ситуация, когда у меня есть BackboneJS (0.9.2) и RequireJS (2.1.3), и мне нужно использовать Fancybox, чтобы открыть какой-то встроенный скрытый контент (визуализированный из шаблона подчеркивания):

<div id="inlineContent" style="display: none">
    <div class="brand-images">
        <img class="brand-image" src="/img/brandImage.png" alt="" />
        <img class="designer-image" src="/img/designer.jpg" alt="" />
        <div class="external button"><a href="<%= designer.get("link") %>" data-designer="<%= designerId.substr(2, designerId.length) %>">Shop the full collection</a><span></span></div>
    </div>
    <div class="details">
        <p><%= designer.get("bio") %></p>
        <p class="more-bio"><%= designer.get("bioMore") %></p>
    </div>
</div>

Я пробовал различные способы прикрепления fancybox к элементам, самый простой из которых - View.render (также использовался View.events):

$(this.el).html(  _.template( detailsDesignerTemplate, data )).appendTo(that.pageElement);
$('.read-more').fancybox({
    padding: 0,
    height: 'auto',
    width: 970,
    autoSize: false,
    title: '<h1>Title</h1>'
});

во всех кроме IE7 (без поддержки IE6, ууу!) это работает. IE7 ничего не делает (хотя интересно, что он вызывает обратный вызов beforeLoad);

Также, что интересно, он работает с контентом iFramed.

1 ответ

fancybox использовал контейнер #fancybox-content, только что установленный в вас. Просмотрите el:$('#fancybox-content') и вызовите $.fancybox(this.$el.html(),{options})

Другие вопросы по тегам