Javascript 有没有办法确定函数是否在文档就绪状态下运行?

Javascript 有没有办法确定函数是否在文档就绪状态下运行?,javascript,jquery,Javascript,Jquery,是否有方法确定某个函数是否在文档就绪状态下运行 我的意思是这样的: function myfunction() { var isinside = //... what to write here? if (isinside) { } } (也有可能我的(非常初学者)概念不是最佳的,所以我写下了我想要达到的目标: 我想创建一个可重用的对象,它可以在一个页面中的多个实例中实例化(希望每个实例都有一行JavaScript)。但是,这个对象在文档准备中必须做一些事情,比如附加事

是否有方法确定某个函数是否在文档就绪状态下运行

我的意思是这样的:

function myfunction() {
    var isinside = //... what to write here?
    if (isinside) {
    }
}
(也有可能我的(非常初学者)概念不是最佳的,所以我写下了我想要达到的目标:


我想创建一个可重用的对象,它可以在一个页面中的多个实例中实例化(希望每个实例都有一行JavaScript)。但是,这个对象在文档准备中必须做一些事情,比如附加事件处理程序。)

我不确定为什么会出现问题?调用代码通常负责是否在DOM就绪处理程序中,而不是函数中

如果需要,您可以在任何函数中冗余地放置一个DOM就绪,但这听起来很奇怪,所以您需要显示其余的代码

e、 g.任何函数都可以具有DOM就绪处理程序:

function myfunction() {
    $(document).ready(function(){
         // I am inside DOM ready!
         // Connect my DOM element events here
    });
    // Do my other non-element stuff here
}
或简称:

function myfunction() {
    $(function(){
         // I am inside DOM ready!
         // Connect my DOM element events here
    });
    // Do my other non-element stuff here
}
这里的关键是DOM就绪处理程序可以在DOM就绪后调用,并立即启动


这样做的缺点是,您不能依赖返回值,因为DOM就绪可能是异步的。

那么您是否正在尝试查找是否触发了document ready事件?Qantas:这一点很好。如果我使用TrueBlueAussie的解决方案,我必须找出DocumentReady是否已启动。如果是,那么我就不能依赖async jQuery.ready处理程序,相反,我必须直接调用我的init代码……事实上,你不需要检查,请参阅jQuery文档:你能解释一下这个注释吗:
我必须找出文档ready是否已启动
?您试图做什么,需要与jQuery中已经使用的模式有所不同?你能展示一个更大的代码示例吗?我建议你将完整的代码发布到,以获得关于如何选择更好模式的建议。我强烈怀疑您正在试图解决一个更简单的问题。他想知道他的函数是否是从
$(document)中的代码调用的。ready()
@Barmar:我明白了,但他为什么有条件地关心呢?:)Truebluaussie:问题是我的初学者知识,是什么阻碍了我创造性地使用这些可能性:-)。然而,您的解决方案提出了一个新问题。现在,我必须找出文档就绪是否已经启动。如果是,那么我不能依赖async jQuery.ready处理程序,相反,我必须直接调用我的init代码。…。@g.pickardou:您需要显示其余的代码,因为您对如何执行其余操作的描述听起来不正确。明白了:“这里的关键是在DOM就绪后可以调用DOM就绪处理程序,它们会立即启动”Thx