有没有办法确定函数是否在文档就绪中运行?
我的意思是这样的:
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/