这是脚本:
$("#button").click(function(){
$.getScript('script.js', function(){
script.init();
});
});
我希望能够像上面的例子一样运行script.init(),但如果我这样做,我必须单击按钮两次才能获得脚本。 - 当它第一次运行script.init()时,它似乎没有加载。
那么在我做一些事情之前,如何确保脚本已加载?
答案 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); }
});