有没有办法确定函数是否在文档就绪中运行?

时间:2015-05-26 11:34:30

标签: javascript jquery

有没有办法确定函数是否在文档就绪中运行?

我的意思是这样的:

function myfunction() {
    var isinside = //... what to write here?
    if (isinside) {
    }
}

(我的(非常初学者)概念也可能不是最优的,所以我写下了我想要实现的目标:

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

1 个答案:

答案 0 :(得分:5)

我不确定你为什么会遇到这个问题?调用代码通常负责处理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 ready可能是异步的。