我有一个非常简单的函数:
function loading (text, id) {
console.log("test");
$('#loadingsts').append('<div id="loader"></div>');
}
这是在一个 javascript 文件中定义的,该文件通过 html 加载:
<script src="js/loader.js"></script>
.
我想在另一个 js 文件中执行该函数,所以我需要让该函数是全局的,对吧?
如果我这样执行,console.log()
有效,但 append 无效。如果我将函数放入 $(function() {});
它说loading() not defined
.
我也不希望函数在加载时执行,而只在调用时执行。
我怎样才能让它工作。 我已经看过这些问题,但它们没有帮助
最佳答案
在任何其他方法之外创建的方法本质上是全局的。如果你在另一个方法中创建一个方法,你可以通过将它附加到 window 对象或者另一个本身是全局的对象来使它成为全局的,在这种情况下你必须通过 thatObject.yourMethod() 访问它
var objectOutsideAnyMethod = {};
(function(){
function ImNotGlobal(){}
window.IAmGlobal = function() {};
objectOutsideAnyMethod.meToo = function(){};
})();
IAmGlobal(); //valid
objectOutsideAnyMethod.meToo(); //valid
ImNotGlobal(); //error
关于javascript - 在 jquery.ready global 中使用选择器创建函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45827580/