2

我在一个全局 JS 文件中有这段代码。

$(document).ready(function() {
       DoStuff();
 });

不幸的是,有些页面包含此文件但不包含 jquery 文件。所以我得到错误:

Message: The value of the property '$' is null or undefined, 
not a Function object

document.ready()仅在加载 JQuery 文件时如何运行。

4

6 回答 6

6
if(window.jQuery) {
    $(document).ready(function() {
        DoStuff();
    });
}

更新

检查window.jQuery而不是仅仅jQuery. 这应该避免“未定义”错误。

于 2012-04-27T18:45:40.337 回答
3

您将首先测试 jQuery 的存在:

 if(jQuery)
 {
     $(document).ready(function() { ... });
 }
于 2012-04-27T18:45:56.370 回答
0

怎么样:

 if($){
   // your code here.
 };
于 2012-04-27T18:45:37.180 回答
0

好吧,将您的代码包装在里面:

if ( $ != undefined && $ != null) {
 //everything here

}
于 2012-04-27T18:45:56.180 回答
0

如果 jQuery 已加载,但您仍然收到该错误,请尝试以下操作:

jQuery(function($) {
    $(document).ready(function() {
        DoStuff();
    });
});

http://api.jquery.com/jQuery/#jQuery3

如果您的意思是“加载”,那么您不能使用“ ready()”功能。

于 2012-04-27T18:48:41.803 回答
0
if(jQuery) {  
    $(function() {
        //...
    });
} 

或者

if(typeof jQuery != 'undefined') {  
    $(function() {
        //...
    });
} 
于 2012-04-27T18:55:02.893 回答