2011-07-06 12 views
0

外部jsファイルで呼び出すときにダイアログボックスにアクセスする際に問題が発生していますが、ページ内で直接呼び出しても問題ありません。私のセレクタに、ダイアログボックスであると思われるdiv要素のIDを見つけることができないという問題がありますか?ここでは外部のjsファイルの中のコードです。外部jsファイルを呼び出すときにダイアログボックスが表示されない

$(document).ready(function() { 
     var hitlistDoc = parent.document.getElementById("hitlist").contentDocument; 
     var links=hitlistDoc.getElementsByName('linkComment'); 
     var i=0; 


     $(links).each(function(){ 
      links[i].href='#'; 

       $(links[i]).click(function() { 

        $('#dialog').dialog({modal: true, position: [902, 345], width: 400 }); 
        $('#dialog').dialog('open'); 

       }); 
      i++;  
     }); 

    }); 
+0

スクリプトをロードする順番にすることができます。外部のスクリプトの前にjQueryとjQueryのUIがロードされていますか? – Alex

+0

はい私は命令に従います。注文はinclude/jquery-ui.css、インクルード/ jquery-1.6.1.js、インクルード/ jquery-ui-1.8.13.custom.min.jsで、次に/ js/util.jsを含める – karagikoy

答えて

0

あなたが間違っている可能性があります。あなたのjsインクルージョンはこのようにする必要があります

<script src="path/to/jquery.js"></script> 
<script src="path/to/jqueryUI.js"></script> 
<script src="path/to/your/external/file.js"></script> 

この順序は重要です。

これが役に立ちます。乾杯

+0

'code' < を使用すると、リンクhref = "assets/css/jquery-ui.css" rel = "stylesheet" type = "text /スクリプトsrc = "include/js/jquery-ui-1.8.13.custom.min.js"> コードのスキャン私はその命令に従うと確信しています。 – karagikoy

0

親とは何ですか?それはアクセス可能ですか?
別の匿名関数内でvarとして宣言されている場合は、アクセスできません。グローバルにするには "var"を削除してみてください。

コンソールにエラーがありますか?

+0

はい、そのアクセス可能です。実際に、ダイアログ部分を省略してアラートボックスに置き換えると、リンクをクリックすると実際にポップします。 – karagikoy

+0

私はちょうど明確にしたい、親はフレームですし、srcは読み込まれるページです。 、hitlist2.aspページ内にボタンを置いて、この$( '#buttonsample')を配置します。上記のスクリプトとリンクをクリックするとボタンの値が変わるので、そのページ内のIDで要素にアクセスできると思うと思うのですが、なぜダイアログが呼び出されたら何も起こりませんし、ダイアログボックスも表示されません現れる。 – karagikoy

関連する問題