Jquery Fancy Box加载问题AJAX响应

时间:2012-10-03 13:09:32

标签: jquery fancybox

从下面的代码开始,单击链接后,它不会在AJAX响应后加载精美的框。

动态生成<a>标记的ID。

但是当我第二次点击相同的链接时它会加载但AJAX功能也会被召回。

$(document).ready(function()
{

   $(".cont").live('click',function(e)
    {
        //Cancel the default action (navigation) of the click.
        e.preventDefault();

        var contentId = $(this).attr('id');


        $('#apps').load('/app/get-app-details', function(){
            $("#"+contentId).fancybox();
        });

    });


  });

<a class="cont" href="#device_detection" id="apps_<?= $regUsers->id; ?>"> Click to view apps</a>

请给我一个解决方案。

1 个答案:

答案 0 :(得分:0)

这是有效的。也许其他人有用

  $(".cont").live("click",function() {

      link=($(this).attr('href'));



            $.fancybox({
            'width'                : '1000',
            'href'                 : link,
            'height'            : '750',
            'autoScale'         : false,
            'transitionIn'        : 'none',
            'transitionOut'        : 'none',
            'type'                : 'iframe'
            }); 





      return false; // don't follow the link!
           });

使用最新的jquery弃用Live。所以你可以使用

$("body").on("click",".cont",function() {

      link=($(this).attr('href'));



            $.fancybox({
            'width'                : '1000',
            'href'                 : link,
            'height'            : '750',
            'autoScale'         : false,
            'transitionIn'        : 'none',
            'transitionOut'        : 'none',
            'type'                : 'iframe'
            }); 





      event.preventDefault(); // don't follow the link!
           });