我正在使用 jQuery。我有一个 JS 文件 (super.js),其中包含:
$("#content").load("/profile");
function setHash(hash) {
location.hash = "#/:-)/"+hash;
}
“/profile”加载另一个外部 JS 文件 (profile.js),其中包含对 setHash 的调用:
setHash('blabber');
但它似乎不起作用(setHash 未定义)。
编辑:setHash 是从 profile.js 中的函数内调用的:
function changePage(type) {
setHash('bla/'+type);
}
如何让“全局”函数在动态加载页面中包含的 JS 文件中工作?
谢谢,艾伯特
最佳答案
将 setHash
函数移至 $(document).ready(function(){})
之外。这将使其成为可以在任何地方调用的全局函数。如果它位于 function(){}
闭包内,则只能从该闭包内调用它。如果您将许多函数移到闭包之外,我建议对它们进行命名空间:
var myApp = {};
myApp.setHash = function() {
// your code
};
myApp.setHash(); // invocation
关于javascript - 从先前加载的 JS 文件调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5511919/