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

标签 javascript jquery

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

我的意思是这样的:

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

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

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

最佳答案

我不确定你为什么在这里遇到问题?调用代码通常负责是否在 DOM 就绪处理程序中,而不是函数。

如果需要,您可以只在任何函数中冗余准备好 DOM,但这听起来很奇怪,因此您需要显示其余代码。

例如任何函数都可以有一个 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 就绪可能是异步的。

关于javascript - 有没有办法确定一个函数是否在文档就绪中运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30457369/

相关文章:

javascript - 如何在页面加载时从 React js 中的 Api 调用填充选择选项

javascript - TypeScript 关联数组

jquery/css 向下滑动但子元素不应移动

JavaScript、JQuery。需要帮助从我的 JSON 中获取 'name'

javascript - 在webix网格的页脚中显示行数

javascript - 在 .map() 中使用 fse.readFile()

javascript - 在 three.js 中编程一个洞/空白空间

php - 生成 session token

jquery - 如何根据下拉列表是否有选项来显示标签?

javascript - 根据在另一个表单字段中输入的内容填充表单字段