2017-03-10 17 views
3

私のページでjqueryを使用していますが、他の部分に問題はありません。 $ .postと$ .getでもうまくいきます。

今私はイメージが何らかの問題を抱えていると、このコードを試してみましたかどうかを評価しようとしています:

$("#bib").error(function(){ 
    //nothing now 
}); 

私はこのエラーを取得し、なぜ私が疑問に思って:

Uncaught TypeError: $(...).error is not a function 
at app.js:53 
(anonymous) @ app.js:53 

をあなたは私が短縮されている見たよう問題を特定するコードだが、あなたは全体のアイデアを得る。現時点ではこれらのjqueryのソースがページ内に含まれています。

https://code.jquery.com/jquery-3.1.0.min.js https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js

これがなぜ起こるか任意のアイデア?

+1

3.0で削除されたようです。 2.4で動作し、3.0では動作しません(jsfiddleを使用)。 https://api.jquery.com/error/ –

+1

['.error()'](https://api.jquery.com/error/): "_Asのバージョンを試してください。代わりに.on( "error"、handler)を使用してイベントハンドラをエラーイベントにアタッチします._ – Andreas

+1

@Andreasは廃止されたものではありません。あなたがどこから削除したのか分かりますか? APIページには記載されていません。 –

答えて

2

(先に述べた、.ERROR削除されているとして)代わりにこれを使用してください。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> 
<script> 

$("#bib").on('error', function(){ 
    //nothing now 
}); 

</script> 
0

でjqueryのアップグレードガイドから:https://jquery.com/upgrade-guide/3.0/#breaking-change-load-unload-and-error-removed

Breaking change: .load(), .unload(), and .error() removed

These methods are shortcuts for event operations, but had several API limitations. The event .load() method conflicted with the ajax .load() method. The .error() method could not be used with window.onerror because of the way the DOM method is defined. If you need to attach events by these names, use the .on() method, e.g. change $("img").load(fn) to $("img").on("load", fn) .

関連する問題