функция внутри 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, время: 08:33. |