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 中的元素上运行某些东西。尝试将其包装在 DOM Ready 事件处理程序中,如下所示:

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