2014-12-08 112 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