有没有办法确定函数是否在文档就绪中运行?
我的意思是这样的:
function myfunction() {
var isinside = //... what to write here?
if (isinside) {
}
}
(我的(非常初学者)概念也可能不是最优的,所以我写下了我想要实现的目标:
我想创建一个可重用的对象,可以在页面中的多个实例中实例化(希望每个实例有一行JavaScript)。但是,这个对象必须在文档就绪中做什么,比如附加事件处理程序。)
答案 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可能是异步的。