コンソールにこのエラー メッセージが表示されます。
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()
ただし、私の関数は の戻り値を呼び出し元に伝播しますが、彼の関数は伝播しないので、ここではそのままにしておきます。