0

<script></script>以下のコードは、実行中のページのタグ内に配置されたときに完全に機能していました。それ以来、組織的な目的でコードを外部.jsファイルに移動したため、コードが機能しなくなりました。特定のイベントを発生させる必要がある場合は、何も起こりません。スクリプトが特定のページに含まれていることを確認し、さらに、リンクが「view-source」(スクリプトのパスをクリックすると、スクリプトが新しいウィンドウに読み込まれる)を通じて有効であることを確認しました。

スクリプト宣言:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script src="js/main.js"></script>

それで、私のJSはこの外部ファイルでどのように見えますか?

(function(){

$('#display-reply-box').click(function(){
    $(this).hide();
    $('#submit-reply-wrapper').show();
});

})(jQuery);

読みやすさのためにほとんどのメソッドを削除しましたが、それがファイルのセットアップ方法です。コンソールに.jsエラーがないことを確認しましたが、jQueryとFireliteに関して次のエラーが発生しました

Failed to load resource: the server responded with a status of 404 (Not Found) http://getfirebug.com/releases/lite/skin/xp/pixel_transparent.gif Failed to load resource: the server responded with a status of 405 (Method Not Allowed) http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js

上記のエラーは、私が経験している問題と関係があると思いますが、それらを消すことができませんでした。エラーが発生する場合もあれば、発生しない場合もあります。

4

1 に答える 1

2

DOMにロードされていない可能性のある要素で何かを実行しようとしているようです。次のように、DOMReadyイベントハンドラーでラップしてみてください。

(function($) {
    $(document).ready(function() {
        $('#display-reply-box').click(function(){
            $(this).hide();
            $('#submit-reply-wrapper').show();
        });
    });
})(jQuery);
于 2012-10-09T21:11:19.360 に答える