jQuery 前階段推出了3.0版本,改動(dòng)非常大,如果要使用 3.0 的話,建議先仔細(xì)了解一下新特性,否則會(huì)引起一些小問題,例如下面的代碼。
大家對(duì)jQuery 3.0十大新特性不了解的朋友可以參考下本篇文章。
<html><head><meta charset="utf-8"><script src="jquery-3.0.min.js"></script><script>$(function (){$('#container').html('你好');})</script></head><body><div id="container"></div></body></html>非常簡(jiǎn)單,此時(shí)沒有任何問題,可以正常顯示內(nèi)容,但如果 $(function (){... }) 內(nèi)部出現(xiàn)異常,讓人困擾的問題便來了
添加一個(gè)異常后的狀態(tài)
$(function (){throw new Error('出錯(cuò)了');$('#container').html('你好');});
頁面不顯示內(nèi)容是正常的,但控制臺(tái)也沒有顯示任何錯(cuò)誤信息,顯然和我們的預(yù)期不一樣
因?yàn)樵谑褂?jquery 2 時(shí),這種情況下,控制臺(tái)是可以提示錯(cuò)誤的
<script src="jquery-2.1.3.min.js"></script><script>$(function (){throw new Error('出錯(cuò)了');$('#container').html('你好');});</script>
解決辦法
因?yàn)?jquery 3.0 正式支持了 promise,所以可以對(duì) .ready() 使用 promise 形式,使用 fail 拋出異常
例如
$.ready.then (function() {throw new Error('出錯(cuò)了');$('#container').html('你好');}).fail (function(error) {throw error;});這時(shí)控制臺(tái)就可以顯示出錯(cuò)誤信息了
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注