2012-10-02 136 views
0

當我點擊動態生成的標籤時,我需要加載jQuery的花哨框。當我第一次點擊該鏈接時,當它第二次加載時點擊它時,花式框不會出現。jquery fancybox問題

你能給我一個解決方案嗎?這裏是我的代碼,

$(document).ready(function() 
    { 
     $(".app a").live('click',function(e){ 

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

      $("#"+contentId).fancybox({    
       'titleShow'  : false, 
       'padding'  : 0, 
       'transitionIn' : 'elastic', 
       'transitionOut' : 'elastic', 
       'autoDimensions':false, 
       'width'  :380, 
       'height'  :500, 
       'showCloseButton' : true, 
       'hideOnOverlayClick' : false    
      }); 

     }); 
    }); 


<div class="app"> 
    <a href="#device_detection" id="apps_<?= $regUsers->id; ?>"> click here</a> 
</div> 
+0

這個代碼看起來沒什麼問題的火的fancybox的事件監聽器,也許你的Javascript包含的順序有問題 - 你可以發佈你的html的其餘部分嗎?或者把代碼放入jsFiddle來說明問題? – tonycoupland

+0

已經包含了很多Jquery組件,如jquery.tinymce.js,jquery.flot.js,query.validate.js,因此很難放置整個代碼。但是它在錨標籤的id是靜態時起作用。 – Shaolin

+0

點擊事件是否在您第一次點擊時觸發?使用'console.log('yes');'來查明。如果不是=>與fancybox無關。 – PiTheNumber

回答

2

this post
在第一次點擊你只是初始化的fancybox,你需要做這個

$("#"+contentId).fancybox({    
    'titleShow'  : false, 
    ... 
}).trigger("click");