Добавление динамически генерируемого html с использованием jQuery не очень хорошо работает с Fancybox
Я использую Fancybox (http://fancybox.net) чтобы открыть iFrame. Для этого я создаю ссылку с классом, установленным в «item_pop» следующим образом:
<div id="events">
<a href="http://www.example.com" class="item_pop">My Link</a>
</div>
Затем у меня есть немного JavaScript в нижнем колонтитуле, который поддерживает это:
jQuery(".item_pop").fancybox({
'width' : 900,
'height' : 500,
'autoDimensions' : true,
'autoScale' : true,
'transitionIn' : 'elastic',
'titleShow' : false,
'transitionOut' : 'elastic',
'centerOnScroll' : true,
'type' : 'iframe'
});
Итак, все это работает плавно. Проблема в том, что я использую jQuery для создания дополнительных ссылок, как это на лету, так:
jQuery(document).ready(function(){
update_seconds = 20;
update_duration = update_seconds * 1000;
window.setInterval(reload_events, update_duration);
});
function reload_events()
{
jQuery.post("http://www.example.com", {type:'any'}, function(data){
var events = eval(data);
var html = '';
for(var i=0; i<events.length; i++){
var evt = events[i];
html += '<a href="http://www.example.com" class="item_pop">My Link</a>';
}
jQuery('#events').children().remove();
jQuery('#events').append(html);
});
}
На самом деле это отображает ссылки на экран, но когда вы нажимаете на них, они не открывают iFrame. Вместо этого они открывают предназначенную страницу как новую страницу, а не как iFrame внутри существующей страницы.
Есть идеи? ура