2012-03-14 7 views
0

私はjQueryのに新しいですし、私は次の問題があります。jQueryの.LOAD()Javascriptの問題

ソースファイル:

function handleDropEvent(event, ui) 
{ 
    var draggable = ui.draggable; 

    switch (draggable.attr('id')) 
    { 
     case "artOfBeing": 
      alert("Life is a bunch of pointless moments."); 
      break; 

     case "perfectAndroid": 
      $('#dataFrame').load('android/androidConfessions.html #androidData'); 
      break; 
    } 

    return false; 
} 

Ajaxは、次のファイルをロードする必要がありますが、それが唯一の<div id="androidTip">を表示コンテンツとJavascriptは完全に無視されます!どうすればいいですか?

<div id="androidData"> 
    <div id="androidVideo" style="width:640px; height:360px; background-color:#25283c; margin-left:70px; margin-top:0px;"> 
    </div> 

    <script type="text/javascript"> 
     FlashReplace.replace("androidVideo", "thoughtOfYou/thought.swf", "flash-element-id", 640, 360, 10); 
    </script> 

    <div id="androidTip"> 
     <div><span style="font-weight:bold">"Android"</span> - An alien female incapable of breeding... Even then love gets old and dies. 
      <div id="xClose" style="float:right; margin-left:5px; cursor:pointer;">x</div> 
     </div> 
    </div> 
</div> 

ありがとうございました。

答えて

0

私は、ドキュメントに追加するとき、あなたのhtmlファイルのJSコードが呼び出されますとは思いません。あなたは、load関数のコールバックからJS関数を呼び出す必要があります。以下のような

何か:サフィックスセレクタ式なしでURLを使用して().LOADを呼び出すとき

$('#dataFrame').load('android/androidConfessions.html #androidData', function() { 
    FlashReplace.replace("androidVideo", "thoughtOfYou/thought.swf", "flash-element-id", 640, 360, 10); 

}); 
+0

それは働いている!どうもありがとうございます。私はコールバックが大好きですが、それについては考えていませんでした。より慎重にJQueryの本を読まなければなりません。 – iTEgg

0

JavaScriptを使用してプッシュしようとする代わりに、正常な読み込みのコールバックとしてJavaScriptを実行します。今のところ、JavaScriptは実行されず、DOMに出力されます。

例:

$('#result').load('android/androidConfessions.html #androidData', function() { 
    FlashReplace.replace("androidVideo", "thoughtOfYou/thought.swf", "flash-element-id", 640, 360, 10); 
}); 
+0

はご入力いただき、ありがとうございます。それは自分にとって非常に教育的でした。 – iTEgg

0

は、コンテンツが(.htmlのために渡される)の前に除去されているスクリプトへ。これにより、スクリプトブロックは破棄される前に実行されます。ただし、セレクタ式をURLに追加して.load()を呼び出した場合、DOMは更新される前にスクリプトが取り除かれ、実行されません。両方の例の例を以下に示します。

ここで、ドキュメントの一部として#aにロードされたJavaScriptはすべて正常に実行されます。

$('#a').load('article.html'); 

ただし、以下の場合には、#Bにロードされるドキュメント内のスクリプトブロックが取り除かれ、実行されていません。

$('#b').load('article.html #target'); 
関連する問題