0

我想执行一个在 jquery 文档就绪闭包内的函数。但我想从全局上下文中执行它。

例如

$("document").ready(function () {
    function myFunction() {
        alert("test");
    }
});

我可以编写某种“路径”语法来进入 doc ready 闭包吗?

例如,这是一些伪代码(我已经制作了这个 synatx):

document.ready.myFunction();

您可能想知道我为什么要这样做;原因是我可以从“就绪”函数闭包内的 javascript 控制台(例如 IE 开发人员工具栏/firebug 等中的控制台)执行函数。

4

1 回答 1

2

简而言之,你不能,它们只是不可访问……这是闭包的核心功能之一。如果您希望它在外部可用,则需要在外部声明它,如下所示:

function myFunction() {
    alert("test");
}
$(document).ready(function () {
  //something..
});

或者将其定义为内部的全局变量(尽管我认为这没有多大意义,除非您还有其他一些参考资料):

$(document).ready(function () {
    myFunction = function() {
        alert("test");
    }
});

要定义一个函数并在 上执行它document.ready,可以这么简单:

function myFunction() {
    alert("test");
}
$(myFunction);

这使它可以访问并在 上执行一次document.ready,不确定这是否是您所追求的,但它是一个选项。

于 2010-09-10T11:13:28.820 回答