функция внутри Live() срабатывает после второго клика
День добрый!
Появилась необходимость использовать плагин fancybox у подгруженных аяксом элементов. Пишу следующий код
$('.get_request').live('click', function () {
$(this).fancybox({
'width' : '75%',
'height' : '75%',
'autoScale' : false,
'transitionIn' : 'none',
'transitionOut' : 'none',
'type' : 'ajax',
'hideOnOverlayClick': false
})
return false;
});
<a href="/by/ajax/" class="get_request">Показать окно</a> Проблема заключается в том, что окно появляется только после второго нажатия на элемент с классом get_request. А нужно чтобы сразу после первого нажатия срабатывало, подскажите как решить эту проблему? |
Так без события клик делается:
$('.get_request').fancybox({
'width' : '75%',
'height' : '75%',
'autoScale' : false,
'transitionIn' : 'none',
'transitionOut' : 'none',
'type' : 'ajax',
'hideOnOverlayClick': false
});
|
Цитата:
При первой загрузке страницы такой скрипт подходит, но стоит перегрузить контент (ajax) как все ссылки с классом get_request перестают вызывать fancybox окно. |
дык назначь заного так как указал walik
|
в смысле, продублировать этот кусок куда в тот шаблон который динамически подгружается?
|
ну после того как подгрузишь новые теги и т.д. потом конечно же после того как поместишь их в DOM вызови этот код.
|
Типа такого:
$.ajax({
url: 'url.php',
success: function(data) {
$('body').append(data);
$('.get_request').fancybox({ //... и т.д.
}
});
|
решение нашел тут: http://code.google.com/p/fancybox/issues/detail?id=18
47 комментарий |
| Часовой пояс GMT +3, время: 14:58. |