c.curCSS は jQuery の関数バグではありません 質問する

c.curCSS は jQuery の関数バグではありません 質問する

コンソールにこのエラー メッセージが表示されます。

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

これはオートコンプリートを実行する私の関数です:

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")
                }
            });

        });

}

私は jQuery 1.8.3 バージョンを持っていますが、ファイルにアクセスできません。これは別のサーバーからのもので、ライブラリへのリンクを使用するだけです。関数は動作しますが、結果に CSS が適用されず、コンソールにエラー メッセージが表示されます。はい、ライブラリを変更する必要があるという解決策を見ましたが、そのためのアクセス権がありません。これを機能させるにはどうすればいいでしょうか。

ベストアンサー1

$.curCSS()回避策としては、モジュール内で再定義するだけです。

jQuery をインクルードした後、次のように記述します。

jQuery.curCSS = function(element, prop, val) {
    return jQuery(element).css(prop, val);
};

jQuery UI はその後その関数を呼び出すことになり、オートコンプリート ウィジェットは意図したとおりに動作します。

アップデート:私の回答がヨハン・チャベス・サボリオの回答とほぼ重複していることに気付きましたそこには$.css()ただし、私の関数は の戻り値を呼び出し元に伝播しますが、彼の関数は伝播しないので、ここではそのままにしておきます。

おすすめ記事