2

我正在尝试使用 .load 在我的页面中加载一些内容,并且我有一些仅在加载的内容中使用的 js 文件,所以我只想在加载内容后加载这些文件。这是我的代码:

$("#highlight").load("content.php #" + $(this).attr('name'), function(){
                $.getScript('js/jquery-ui-1.9.2.custom.min.js');
                $.getScript('js/plugins.js');
                $.getScript('js/script2.js');
                });

此代码位于包含在主页中的 script.js 中,我需要在 content.php 之后加载 script2.js 、 plugins.js 和 jquery ui,但它似乎不起作用。提前感谢任何可以提供帮助的人。

编辑:

想法是让一些 jquery 函数在加载的内容中工作,对此的任何解决方案都表示赞赏。

4

1 回答 1

2

假设load回调被成功调用,使用$.getScript这种方式的问题是它是异步的,所以它们可能会被乱序执行。为了确保正确的顺序,要么$.ajax直接使用(使用async:falseas 选项,以及dataType: "script"),要么在彼此的回调中链接加载(避免阻塞页面的其余脚本):

$("#highlight").load("content.php#" + $(this).attr('name'), function(){
    $.getScript('js/jquery-ui-1.9.2.custom.min.js', function() {
        $.getScript('js/plugins.js', function() {
            $.getScript('js/script2.js');
        });
    });
});
于 2012-12-27T10:09:21.713 回答