我想在document.ready
中定义一个需要在document.ready
之外调用的全局函数。我试图将函数定义为
var global_fn={};
$(document.ready).function(){
global_fn.my_function=function(){
console.log('my function');
};
global_fn.my_function();
}
global_fn.my_function();
global_fn.my_function();
内的函数调用document.ready
效果很好,但在它之外会抛出错误:Uncaught TypeError: global_fn.my_function is not a function
。我错过了什么?
NB。在document.ready
内定义函数的原因是因为我使用的是第三方api,只有在dom准备就绪后才有效,并且使其成为全局的原因是因为我想在另一个js文件中调用它。
答案 0 :(得分:2)
它不在document.ready
函数之外工作的原因是,当它在js文件中出现时,该函数会在document.ready
创建之前执行
只要他们在document.ready
之前没有尝试访问它,它就会出现在您的其他JS文件中。