2014-12-08 88 views
1

嗨我試圖cusomize的jQuery插件Tipr.js並遇到了一個小關出來的,基本上我是用源代碼玩耍的用法。並且遇到以下情況:tipr.js瞭解每個功能

return this.each(function() { 

如果上面21行的行被刪除,並且前面的右括號從行46中刪除。

看到源代碼,看看我在說什麼。

Source code

插件仍然工作正常。我的意思是我做它想要的。然而在運行更多的測試時,我發現從插件中刪除每個函數會影響插件的可查詢性,例如。現在每個刪除我不能做到這一點:

$('#xyz').tipr().addClass('xyz'); 

現在我明白了每個功能的使用情況,但不知何故在這個撐着的情況下,我不明白爲什麼每個功能的影響可變性。

How to create a basic plugin:本文檔幫了我一下,但我還是老樣子便無法完全理解。

這真是太棒了,有人可以解釋每個函數在這裏扮演的重要角色。

謝謝。

泰納利

+0

http://stackoverflow.com/questions/2678185/why-return-this-eachfunction-in-jquery-plugins – 2014-12-08 05:25:32

+0

@Learner謝謝。 – 2014-12-08 05:45:55

回答

1

提供的鏈接@Learner是好的,但它是老了「接受」的答案沒有「正確」的答案。

在你的具體的例子,原來的代碼如下所示:

return this.each(function() { 
    ... 
}); 

其中,對於基本each實際上只是一個較短的這個版本:

this.each(function() { 
    ... 
}); 
return this; 

,所以你現在可以清楚地看到通過刪除整條線,你不會從函數返回任何東西。

它是不可缺少的each這就是問題的,你可以刪除each,如果你只是想連接到一個單一的元素例如

return this; 

它是停止的能力,你的鏈延伸的jQuery缺乏任何返回值

+0

Jquery的新功能!所以stil學習新事物!雖然完美回答!謝謝 ! 。 – 2014-12-08 14:59:14