2012-01-26 6 views
0

jqueryの$ .getScriptビットは使いやすくなっていますが、問題は最後です。私は問題が私がJSファイルをロードしている方法に起因している疑いがあります。これをどのように機能させるには?私のindex.htmlは実際にindex.phpであり、bodyタグの間にはほとんどありません。私はjQuery 1.7.1を使用しています

<body id="btLive"> 
    <script> 
      buildInterfaces(); 
    </script> 
</body> 

buildInterfaces()は、layoutLoader.jsという名前のドキュメント内にあります。このファイルには、私は次のようしている:

$(document).ready(function() { 
    $('#hToggle').click(function() { 
      aaa = "Not working."; 
      $.getScript('test.js', function() { 
       alert(aaa); 
      }); 
      toggleHoverPanel(); 
    }); 
}); 

を私のテストとして、test.jsはlayoutLoader.jsと同じフォルダにあるとのみ、以下が含まれています

aaa = "Successful Load." 

私はをクリックしたときボタンhToggle、toggleHoverPanelが発生し、警告が表示されません。私がaaa = "Not working"の後に警告を発すると、私はそれが働いていないと私に言って、私が期待するアラートを取得します。私はこれを使用する必要があるいくつかのアイテムがありますが、私の人生のためには、それを働かせることはできません。助けて?

答えて

2

確率が高いtest.jsファイルが見つかりませんでした。 コードにこの部分を追加してもう一度お試しください:

$(document).ajaxError(function(event, request, settings){ 
    alert('error loading: ' + request.status); 
}); 
+0

Ah ha。それがそれでした。そのような追加のスクリプトをロードするときのように、私はindex.phpファイルに相対的なパスを指定して、そのファイルが他のスクリプトと同じフォルダにあるとは限りません。 –

+0

@Charles Shoultsもちろん、BASEタグが設定されていれば、それは常にページまたはBASEタグの値に関連しています:) – Cheery

関連する問題