2017-03-10 207 views
3

我在我的頁面上使用jquery,並沒有其他部分的問題。即使$ .post和$ .get工作正常。

現在我試圖評估圖像是否有任何問題,並試圖驗證碼:正如你看到的我已經縮短

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

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

我很奇怪,爲什麼我得到這個錯誤代碼來隔離問題,但你得到了整個想法。目前,這些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)。試試'.on'版本,詳情請看https://api.jquery.com/error/ –

+1

['.error()'](https://api.jquery.com/error/):「_As jQuery 1.8,.error()方法已被棄用。使用.on(「error」,處理程序)將事件處理程序附加到錯誤事件._「 – 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) .

相關問題