从以前加载的JS文件中调用函数

时间:2011-04-01 10:10:25

标签: javascript jquery

我正在使用jQuery。我有一个JS文件(super.js)包含:

$("#content").load("/profile");

function setHash(hash) {
   location.hash = "#/:-)/"+hash;
}

“/ profile”加载另一个包含对setHash调用的外部JS文件(profile.js):

setHash('blabber');

但它似乎不起作用(setHash未定义)。

编辑:从profile.js中的函数中调用setHash:

function changePage(type) {
    setHash('bla/'+type);
}

如何让“全局”函数在动态加载的页面中包含的JS文件中工作?

谢谢,艾伯特

1 个答案:

答案 0 :(得分:2)

setHash功能移到$(document).ready(function(){})之外。这将使它成为一个可以在任何地方调用的全局函数。如果它在function(){}闭包内,则只能从该闭包内调用。如果您在闭包之外移动许多函数,我建议命名它们:

var myApp = {};
myApp.setHash = function() { 
                  // your code 
                };

myApp.setHash(); // invocation