Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.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 重写jquery.load()函数-句柄回调_Javascript_Jquery_Overriding - Fatal编程技术网

Javascript 重写jquery.load()函数-句柄回调

Javascript 重写jquery.load()函数-句柄回调,javascript,jquery,overriding,Javascript,Jquery,Overriding,我重载了jQuery的.load()函数以满足我的跨域需求 (function ($) { var _load = $.fn.load; $.fn.load = function(url, params, callback) { if (url.match('^http')) { $(this).load("read_page.php?p="+url); return this; }

我重载了jQuery的.load()函数以满足我的跨域需求

(function ($) { 
    var _load = $.fn.load; 
    $.fn.load = function(url, params, callback) { 
        if (url.match('^http')) { 
            $(this).load("read_page.php?p="+url);
            return this;
        }
        else{
            return _load.apply(this, arguments); 
        }
    }
})(jQuery);
“read_page.php”调用php curl从跨域获取页面

调用上述重写函数的代码部分为:

$(trg).load(user_folder+shw+qs, function(){
                        showErr("Updation Successfull", trg);
                        $(".divErr").css("border-color","#4F8A10");
                        $(".divErr").css("background","url(images/img_suc.png) no-repeat 10px 50%, left;");
                        $(".divErr").css("background-color","#DFF2BF");
                    }).html(vLoading);
.html(vLoading)部分运行良好,因为我的代码返回this的值

函数(){…}部分不起作用,因为我的代码没有部分可处理回调

需要帮助来处理我的自定义覆盖函数中的回调。

请尝试以下版本:

(function ($) { 
    var _load = $.fn.load; 
    $.fn.load = function(url, params, callback) { 
        if ( url.match('^http') ) {
            var params = params || {},
                callback = callback || function () {};
            _load.call(this, "read_page.php?p="+url, params, callback );
            return this;
        }
        else {
            return _load.apply(this, arguments);
        }
    }
})(jQuery);

如果(callback!=未定义)callback(),请尝试此
在这一行之后
$(this).load(“read_page.php?p=“+url”)感谢您的回复。此负载将在哪个选择器上工作?需要将$(this)或this放在代码加载的某个地方(“read_page.php?p…你说得对。我编辑了这篇文章,并在加载函数中添加了一个“call”语句。