c.curCSS不是jQuery的函数错误

Joz*_*ghi 11 jquery

我在控制台中收到此错误消息.

c.curCSS is not a function
...,m,n){c.each(e,function(){g-=parseFloat(c.curCSS(f,"padding"+this,true))||0;if(m...
Run Code Online (Sandbox Code Playgroud)

这是我的自动完成功能:

function autocomplete_name (name_val, id_val,action, button) {

        $(document).ready(function () {
            $(name_val).autocomplete({
                source: function( request, response ) {
                    $.ajax({
                        url: action,
                        dataType: "json",
                        data: {
                            term: request.term

                        },
                        success: function( data ) {
                            response( $.map( data, function( item ) {
                                return {
                                    label: item.name,
                                    value: item.name,
                                    id: item.id
                                }
                            }));
                        }
                    });
                },
                minLength: 2,
                select: function( event, ui ) {
                    $(id_val).val(ui.item.id);
                    $(name_val).val(ui.item.value);
                    $(button).trigger("click")
                }
            });

        });

}
Run Code Online (Sandbox Code Playgroud)

我有jQuery 1.8.3版本,我无法访问该文件.它来自另一台服务器,我只是使用一个链接到库.该函数有效,但没有css适用于结果,我在控制台中收到该错误消息.是的,我看到了我必须修改库的解决方案,但我无法做到这一点. 我该怎么做才能使这项工作.

Fré*_*idi 44

作为一种解决方法,您只需$.curCSS()在模块中重新定义即可.

在包含jQuery之后,写下如下内容:

jQuery.curCSS = function(element, prop, val) {
    return jQuery(element).css(prop, val);
};
Run Code Online (Sandbox Code Playgroud)

之后,jQuery UI将最终调用该函数,并且自动完成小部件将按预期工作.

更新:我刚刚意识到我的答案是JohannChavesSaborío在那里的答案的准复制品.不过,我会把它留在这里,因为我的函数将返回值传播$.css()给调用者,但他没有.