javascript - 在 jquery.ready global 中使用选择器创建函数

标签 javascript jquery

我有一个非常简单的函数:

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/

相关文章:

Jquery,如果 URL 末尾的主题标签与类名匹配,则激活脚本

javascript - 使用 Chrome/FF 增量按钮时金额框不累加

javascript - 将innerHTML 片段提取到分组中

javascript - 获取与 PFObject 云代码的关系

javascript - 如何在 Node.js 中强制重置套接字?

javascript - 为什么控制台是非标准的?

jquery - 将 html 标签添加到 .append() jquery .xhtml 时出现问题

javascript - JavaFX Web View :sending a String from javafx to js webview

javascript - 如何从Jquery中的HTML标签获取值

c# - 使用 HiddenField 将 jQuery 变量传递到 ASP.NET 代码中