14

ASP.NET MVC 4とを使用しNuGetてパッケージを管理します。

jQuery 1.9.1viaにアップグレードした後、 の関数の削除に関するエラーが発生NuGetし始めました。JavaScriptlive()jQuery 1.9.x

F5 キーを押して VS.NET からデバッグ モードで実行し、ログイン ページに移動して、次の情報を取得します。

エラー Microsoft JScript

この StackOverflow の回答を見つけました: https://stackoverflow.com/a/14512797に 4 つの変更を加えました~\Scripts\jquery.unobtrusive-ajax.js

私の~\Scripts\jquery.unobtrusive-ajax.js

    $(document).on("click", "a[data-ajax=true]", function (evt) {
       ...
    });
    $(document).on("click", "form[data-ajax=true] input[type=image]", function (evt) {
       ...
    });
    $(document).on("click", "form[data-ajax=true] :submit", function (evt) {
       ...
    });
    $(document).on("submit", "form[data-ajax=true]", function (evt) {
       ...
    });

また、物理的に削除jquery.unobtrusive-ajax.min.jsWebGrease 1.3.0て、更新された から再生成していまし~\Scripts\jquery.unobtrusive-ajax.jsた。

しかし、何らかの理由で、.live()関数を使用しないという私の変更は固執していません。VS.NET が MVC アプリを実行している IIS Express 8.0 Web サイト (localhost:63798) を停止してみました。

また、F5 キーを押してデバッグ モードで再度実行する前に、Build->Clean Solution、Build->Rebuild Solution を実行してみました。

誰かが以前にこれを経験し、洞察を持っているなら、私はとても感謝しています. 前もって感謝します。

4

2 に答える 2

17

Microsoft jQuery Unobtrusive Ajaxパッケージは、バージョン 2.0.30116.0 で修正され、この問題が修正されました。への呼び出しは、.live()を使用するように変更されました.on()

NuGet パッケージをアップグレードして、最新バージョンを入手してください。

ただし、jQuery Migrate パッケージを使用するという提案は、jQuery 1.9+ の変更と互換性のない他のプラグインまたは独自のコードの問題を見つけるのに適しています。

于 2013-03-12T22:07:33.123 に答える
10

live()jQuery 1.9 では、他のいくつかの機能とともに削除されました。

削除された機能のサポートが必要な場合は、削除された機能を含む jQuery 移行ファイルも追加する必要があります。

以下のような参照を追加すると、必要なすべての機能が含まれます。

<script src="http://code.jquery.com/jquery-migrate-1.1.1.js"></script>

デバッグ モードで移行ファイルを使用すると、コンソールに警告が追加され、削除された機能を使用したときに通知されます。これは、jQuery 1.9以降のみを使用して、最終的に移行ファイル参照を削除できるようになるまで、ゆっくりとそれらを置き換えるのに役立ちます。

jQuery 1.9 への移行の詳細については、次の jQuery ブログ投稿を参照してください。

于 2013-03-12T21:19:42.520 に答える