2012-04-16 54 views
0

我在android上,并且因为我很懒,所以我把jquery加载到webview中来操作DOM。如何知道jQuery是否完全加载?

我加载我的webview,直到jQuery没有定义,我有一个加载屏幕来指示用户他什么也做不了。

if(info.equalsIgnoreCase("undefined")) 

info是typeof(jQuery)。他在开始时没有定义,约1秒后被定义,但惊喜!你没有所有的功能...

解释:刚刚定义jQuery后,我试了一个jQuery('body')。remove()...我需要等待~4秒后才能做到这一点。但是如果我只是想改变我身体的背景,那么它立即运作。

我的问题是:如何知道何时jQuery完全加载?

在此先感谢

+0

这不是jQuery的未完全加载,它的DOM,使用'$ .ready'如其他人所说的 – 2012-04-16 23:54:38

+0

我确信,在DOM被加载,因为我负荷的jQuery之前等待。 – Shinao 2012-04-17 00:05:59

回答

1

为什么不直接使用ready(),以确定目标选择有哪些?

$(document).ready(function() { 
    // load things 
}); 

另一种选择是将垫片身体的onload事件在文档主体完成加载,请务必提供jQuery的体内触发:

<body onload="fireItUp();"> 
    <script src="/path/to/jquery.js"></script> 
    <script> 
    window.fireItUp = function() { 
    // load things 
    } 
    </script> 
</body> 

丑陋,但功能。

+0

我已经尝试过了,但它就像他神经兮兮的那个功能......所以我得到了一个无限的加载屏幕。 – Shinao 2012-04-16 23:55:49

+0

我再次尝试$(document).ready系统,只有在jQuery完成加载后添加它时才会进入它,因此毫无意义。 问题是用户选择何时“激活”jQuery,所以我没有看到我如何以这种方式添加jQuery,如果我将它添加到他看到的每个网站上,都会豁免,但是它很丑陋:p。也许在其他方面呢? – Shinao 2012-04-17 00:12:45

1

一旦jQuery可用,您可以使用有所有可用的方法。

您需要等待DOM准备就绪。

$(function() { 
    // DOM may be manipulated here. 
}); 
+0

与$(document).ready ...相同的东西...只有当我添加它时才进入它完全加载完jQuery后 – Shinao 2012-04-17 00:16:07

相关问题