加载脚本时的jQuery getScript调用函数

时间:2012-06-11 23:22:04

标签: jquery getscript

这是脚本:

$("#button").click(function(){
    $.getScript('script.js', function(){
       script.init();
    });
});

我希望能够像上面的例子一样运行script.init(),但如果我这样做,我必须单击按钮两次才能获得脚本。 - 当它第一次运行script.init()时,它似乎没有加载。

那么在我做一些事情之前,如何确保脚本已加载?

2 个答案:

答案 0 :(得分:2)

试试这个:

$(window).load(function() {
    $.getScript('script.js', function() {
        $("#button").click(function() {
           script.init();
        });
    });
});

或者,尝试使用jQuery.ajax函数而不是简写:

$("#button").click(function () {
    $.ajax({
        url: "script.js",
        dataType: "script",
        success: function () { script.init(); }
    });
});

答案 1 :(得分:0)

当函数名是字符串时,我使用此代码调用函数。

$.ajax({
    url: 'script.js',
    dataType: "script",
    success: function () { window["script"]["init"](); }
});

您也可以将按钮传递给您正在呼叫的功能。

$.ajax({
    url: 'scrpt.js',
    dataType: "script",
    context : this,
    success: function () { window["script"]["init"](this); }
});