我正在使用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文件中工作?
谢谢,艾伯特
答案 0 :(得分:2)
将setHash
功能移到$(document).ready(function(){})
之外。这将使它成为一个可以在任何地方调用的全局函数。如果它在function(){}
闭包内,则只能从该闭包内调用。如果您在闭包之外移动许多函数,我建议命名它们:
var myApp = {};
myApp.setHash = function() {
// your code
};
myApp.setHash(); // invocation