代码之家  ›  专栏  ›  技术社区  ›  Alex KeySmith

如何从全局上下文执行jquery文档就绪函数闭包中的函数

  •  0
  • Alex KeySmith  · 技术社区  · 15 年前

    我想执行jquery document ready闭包中的函数。 但我想从一个全局上下文执行它。

    例如

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

    有什么“路径”语法我可以写,进入doc-ready闭包?

    document.ready.myFunction();
    

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

    1 回复  |  直到 15 年前
        1
  •  2
  •   Nick Craver    15 年前

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

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

    许多 在这个意义上,除非你有一些其他的参考):

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

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

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

    文件准备就绪