2011-04-29 14 views
2

ui-dialogを使ってポップアップウィンドウ(ライトボックスのような)としてHTMLファイルをロードしたい。次のコードを試しましたが、ロードされたHTMLページ内のjs関数はトリガーされません。私はページの内容と画像のみを取得します。jQueryでui-dialogを使ってポップアップとしてhtmlファイル全体を読み込む方法は?

$('#lightbox_link').click(function(){ 

    $('#lightbox_popup').load('new_lightbox.html').dialog({ 
              resizable: false, 
               height:650, 
               width:980, 
               dialogClass:'noTitle',  
               modal: true 
           }); 
    }); 
}); 

また、htmlリンクが動的に作成される場合、ui-dialogがサポートするかどうかを知る必要がありますか?今私は静的なリンクを与えました。しかし、リンクが生成され、サーバーによって返されたとしたら、ページが起動され、ページ内のすべてのjs関数がトリガーされたポップアップとしてロードされますか?助けてくれてありがとう。

+0

なかったこれらの回答のヘルプのいずれかのおうちやされていますあなたはまだ問題がありますか? –

答えて

1

リンクは$( '#を交換後、動的である場合はページ

<a id="load" href="#">Load</a> 
<div id="content" style="display:none"></div> 

<script type="text/javascript"> 

$(function() { 

    alert('loaded'); 

}); 

</script> 

<div> 
    Content 
</div> 

Load.htm

これを試してみて、それがあなたのため

$('#load').click(function() { 

    $('#content').load('load.htm', function (content) { 
     $('#content').dialog({ 
     resizable: false, 
     height: 300, 
     width: 500, 
     dialogClass: 'noTitle', 
     modal: true 
     }); 
     $('#content').dialog('show'); 
    }); 

}); 

を動作するかどうかを確認)をクリックしてください。

$('body').delegate('#load', 'click', function() { ..... } 

<a class="load" href="link_1.htm">Load</a> 
<a class="load" href="link_2.htm">Load</a> 
<div id="content"> 
<div id="content-holder"></div> 
</div> 

Javascriptを:

2

あなたはリンクの数ページに同じダイアログボックスを再利用する場合 この

のHTML試みる

$(document)ready(function(){ 
    $('#content').dialog({ 
      resizable: false, 
      height: 300, 
      width: 500, 
      dialogClass: 'noTitle', 
      modal: true 
      }); 
    $('#load').click(function(){ 
     $("#content-holder").load($(this).attr("href")); 
     $("#content").dialog('open'); 
     return false; 
    }) 

} 
関連する問題