jQ load方法在jquery1.8版本中被廢棄,用on進行綁定

來源:互聯網
上載者:User

標籤:dynamic   ann   cannot   ajax   pat   字元   函數   app   release   

更新jQuery版本後報錯url.indexOf is not a function解決辦法http://www.findme.wang/Blog/detail/id/196.html

 

最近在使用之前下載的jquery.thinkbox.js,一直報錯url.indexOf is not a function,如下:

經分析,報錯主要是由調用load函數引起:

12 $("").load(function(){})

 

因為在jquery3.2.0中,load函數定義如下:

函數的第一個參數為url,即字串,indexOf屬於字串的方法,瞬間明白,傳入一個函數的時候報錯url.indexOf。

為什麼之前用的時候可以呢?

通過查閱jQuery Blog,發現

.load, .unload, and .error, deprecated since jQuery 1.8, are no more. Use .on() to register listeners.

原來在Jquery1.8之後的版本,load方法已經被遺棄。移除原因如下:

The .load() method is an ambiguous signature, it can either be an ajax load or attach/fire a "load" event. CCAO cannot tell them apart since it‘s a dynamic decision based on arguments.

If .load() is being deprecated, .unload() should be as well.

因為和ajax中load方法衝突,具體可以參考這裡

處理load問題的解決方案

jQuery Blog上說,通過使用on進行綁定,即如下:

12 $("").on(‘load‘,function(){})

因為on和bind都是處理事件綁定的,經測試bind也可以。

1234567 $("").bind(‘load‘function(){//處理相應的事務}).attr({       "href" ‘index.css‘,       "type" "text/css",       "rel"  "stylesheet"     }).appendTo(‘head‘);

 

jQ load方法在jquery1.8版本中被廢棄,用on進行綁定

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.