0

ホームページにオートコンプリート テキスト ボックスがある非常に小さな mvc4 インターネット アプリケーションを作成しました。nuget パッケージ マネージャーを使用して jquery をバージョン 1.8.2 に更新するまで、すべて正常に機能していました。その後、Microsoft JScript runtime error: Object doesn't support this property or methodこの関数によってエラーがスローされました。

function reduce( elem, size, border, margin ) {
    $.each( side, function() {
    size -= parseFloat( $.curCSS( elem, "padding" + this, true) ) || 0;
        if ( border ) {
            size -= parseFloat( $.curCSS( elem, "border" + this + "Width", true) ) || 0;
        }
        if ( margin ) {
            size -= parseFloat( $.curCSS( elem, "margin" + this, true) ) || 0;
        }
    });
    return size;

jquery-ui-1.8.20.jsファイルで。

_Layout.cshtmlこれは、ページ でスクリプトとスタイルを呼び出す方法です。

@Styles.Render("~/Content/css")
@Styles.Render("~/Content/themes/base/css")
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryui")
@RenderSection("scripts", required: false)

テキストボックスのあるホームページ:

  @using (Html.BeginForm("AutoComplete", "Home", FormMethod.Get, new { style = "text-align: center;" }))
{
    <input  type="text"  id="autocomplete"  name="key"  data-autocomplete=" @Url.Action("AutoCompleteData", "Home")"  /> 
}
@section scripts{
    <script type="text/javascript">
        $(document).ready(function () {
            $('#autocomplete').each(function () {
                $(this).autocomplete({
                    source: $(this).attr('data-autocomplete')
                });
            });
        });
    </script>
}

スクリプトとスタイルの呼び出しの順序を変更しようとしましたが、役に立ちませんでした。
更新前は同じコードが完全に機能していました。
任意の助けをいただければ幸いです。

編集: 最新のjquery-uiファイルをダウンロードして、プロジェクトに追加しました。現在、エラーは発生していませんが、テキストボックスに何かを入力すると、次のようになります: オートコンプリート
(提案によりテキストボックスの一部が非表示になり、箇条書きが表示されます)、更新後、提案は正常に配置されますが、箇条書きは引き続き表示されます.

4

2 に答える 2

0

.curCSS()はしばらくの間非推奨になり、jQueryから削除されました。
.css()メソッドに置き換える必要があります。最新バージョンのjQueryUIを使用してみてください。http://bugs.jquery.com/ticket/11921
を参照してください

于 2012-11-14T08:33:02.583 に答える
0

だから私は最新のjqueryファイルをダウンロードし、nugetによってインストールされたものを置き換えました。最終的に、コンテンツ ディレクトリとスクリプト ディレクトリをコピーして新しい mvc4 プロジェクトを作成すると、すべてが機能します。

于 2012-11-15T16:26:11.887 に答える