2012-10-15 115 views
4

每當我看到任何插件代碼時,我無法理解80%的代碼。 我也知道一些jquery,並且已經取得了成功,但我無法找到他們在插件中完成的事情。我如何理解高級jQuery概念

通常我在10行中做的代碼,他們做一些快捷方式,並用高級方法完成1。

例如,這是來自jQuery的文件上傳插件

​​

的代碼,我不知道究竟發生了什麼事情,爲什麼函數名稱以下劃線開始。做了什麼和所做的一切。

在哪裏可以找到那種東西結合實例充分說明,這樣我也可以減少我的代碼

+0

每個插件都有自己的方法。除了您必須熟悉JavaScript和jQuery方法外,請嘗試查找插件的文檔。對於文件上傳,看看https://github.com/blueimp/jQuery-File-Upload/wiki – StrouMfios

+0

[高級jquery教程](https://www.google.com/search?&q=advanced+jquery +教程) – mplungjan

回答

2

這是我的理解是:

start是回調函數,如評論說:Callback for uploads start, equivalent to the global ajaxStart event

var that是eq。於:

Returns value at named data store for the element, as set by jQuery.data(element, name, value), or the full data store for the element.

當變量that設置,有一個名爲_transition我猜函數的調用是Ajax調用的一些擴展,因爲我們稍後調用done功能。可能作者擁有作品,因此您需要搜索代碼。

該功能作爲$(this).find('.fileupload-progress')選擇器返回的參數對象列表獲取。

最後,我們稱之爲done函數,我猜是eq。到jQuery.ajax().done(),在成功完成Ajax請求後調用。內部完成有用於annonymous功能

.done(function(){ 
    .... 
}) 

那裏的發射稱爲_trigger與主要功能串started和回調事件的另一功能啓動e另一個回調。

和答案你的最後一個問題:

Where i can find that sort of stuff fully explained with examples so that i can also reduce my code?

事實是,如果沒有書面方式自己的東西,你可能永遠不會得知。經驗和編碼是這裏的關鍵。通過搜索某些解決方案,您會發現像這樣的新東西。所以保持編碼隊友!