Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未定义不是函数:自动执行函数的原因?_Javascript_Jquery_Console - Fatal编程技术网

Javascript 未定义不是函数:自动执行函数的原因?

Javascript 未定义不是函数:自动执行函数的原因?,javascript,jquery,console,Javascript,Jquery,Console,下面这行有什么问题吗 if(!$imgs.length){return$.Deferred.resolve().promise();} 我得到了一个未捕获类型错误:未定义不是一个函数控制台错误 上下文 jQuery(document).ready(function($) { (function($) { // Function to allow an event to fire after all images are loaded $.fn.imagesLoaded = fu

下面这行有什么问题吗

if(!$imgs.length){return$.Deferred.resolve().promise();}

我得到了一个
未捕获类型错误:未定义不是一个函数
控制台错误

上下文

jQuery(document).ready(function($) {

(function($) {
    // Function to allow an event to fire after all images are loaded
    $.fn.imagesLoaded = function () {

        $imgs = this.find('img[src!=""]');
        // if there's no images, just return an already resolved promise
        if (!$imgs.length) {return $.Deferred.resolve().promise();}

        // for each image, add a deferred object to the array which resolves when the image is loaded
        var dfds = [];
        $imgs.each(function(){

            var dfd = $.Deferred();
            dfds.push(dfd);
            var img = new Image();
            img.onload = function(){dfd.resolve();}
            img.src = this.src;

        });

        // return a master promise object which will resolve when all the deferred objects have resolved
        // IE - when all the images are loaded
        return $.when.apply($,dfds);

    }
})(jQuery);

});

你为什么不像这样使用
$imgs.length
$($imgs).length
我会尝试查看
这一行。查找
行,不要延迟。尝试将其更改为
$(this)。find()
@GuruprasadRao我尝试了你的建议,但仍然得到了错误。@skip405刚刚尝试了,但不幸的是错误仍然存在。错误是否在
if($imgs.length)
行中出现???编辑:如果可能的话,你能提供html吗??