Javascript 从以前加载的JS文件调用函数
我正在使用jQuery。我有一个JS文件(super.JS),其中包含:Javascript 从以前加载的JS文件调用函数,javascript,jquery,Javascript,Jquery,我正在使用jQuery。我有一个JS文件(super.JS),其中包含: $("#content").load("/profile"); function setHash(hash) { location.hash = "#/:-)/"+hash; } “/profile”加载另一个外部JS文件(profile.JS),其中包含对setHash的调用: setHash('blabber'); 但它似乎不起作用(setHash未定义) 编辑:setHash是从profile.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文件中工作
谢谢,Albert将
setHash
函数移到$(文档).ready(function(){})
之外。这将使它成为一个可以在任何地方调用的全局函数。如果它位于函数(){}
闭包中,则只能从该闭包中调用它。如果您将许多函数向上移动到闭包之外,我建议将它们命名为:
var myApp = {};
myApp.setHash = function() {
// your code
};
myApp.setHash(); // invocation
setHash
是否包含在$(document).ready(function(){})
或另一个闭包中?是的,忘记指出了。使用load()方法时浏览器是否加载了包含的外部JS?试着提醒一下。