如何从全局上下文执行 jquery 文档就绪函数闭包内的函数
我想执行 jquery 文档就绪闭包内的函数。 但我想从全球范围内执行它。
例如
$("document").ready(function () {
function myFunction() {
alert("test");
}
});
,我可以编写某种“路径”语法来进入文档就绪闭包吗?
例如,这里有一些伪代码(我已经编写了这个 synatx):
document.ready.myFunction();
您可能想知道为什么我想这样做;原因是我可以从 javascript 控制台(例如 IE 开发人员工具栏/firebug 等中的控制台)执行“就绪”函数闭包内的函数。
I want to execute a function that is inside the jquery document ready closure.
But I want to execute it from a global context.
e.g.
$("document").ready(function () {
function myFunction() {
alert("test");
}
});
Is there some sort of "path" syntax I can write, to get inside the doc ready closure?
e.g. Here is some pseudo code (I've made this synatx up):
document.ready.myFunction();
You might be wondering why I wish to do this; the reason is so I can execute functions from a javascript console (e.g. the console in IE developer toolbar / firebug etc) that are inside the "ready" function closure.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
简而言之,你不能,它们只是不可访问......这是闭包的核心功能之一。如果您希望它在外部可用,则需要在外部声明它,如下所示:
或者将其定义为内部的全局变量(尽管我认为这没有什么意义,除非您有一些其他参考资料正在进行中):
要定义一个函数并在
document.ready
上执行它,它可以像这样简单:这使其可访问并在
document.ready< 上执行一次/code>,不确定这是否是您想要的,但它是一个选项。
In short, you can't, they're just not accessible...this is one of the core functions of closures. If you want it available outside, you either need to declare it outside, like this:
Or define it as a global variable inside (though I don't see a lot of sense in this, unless you have some other references going on):
To define a function and execute it on
document.ready
, it can be as simple as this:This leaves it accessible and executes it once on
document.ready
, not sure if that's what you're after but it is an option.