嘿伙计们,我试图将Jquery插件Tipr.js定制,并遇到了一个小障碍,基本上我正在玩源代码。并且发现了以下内容:
return this.each(function() {
如果第21行上面的线被移除并且前面的关闭括号从线46移除。
查看源代码,看看我在说什么。
该插件仍然正常。我的意思是我做它所想的。然而,在运行更多测试时,我开始知道从插件中删除每个函数会影响插件的可触发性,例如。现在每个删除我不能这样做:
$('#xyz').tipr().addClass('xyz');
现在我理解了每个功能的用法,但不知何故在这个插件的上下文中,我不明白为什么每个功能都会影响可变性。
How to create a basic plugin:这个文档对我有所帮助,但我仍然无法理解。
如果有人可以解释每个功能在这里发挥的重要作用,那将是非常棒的。
感谢。
Tenali
答案 0 :(得分:1)
提供的@Learner
链接很好,但它已经过时了,并且接受了#34;回答没有"正确"答案。
在您的具体示例中,原始代码如下所示:
return this.each(function() {
...
});
对于基本的each
实际上只是一个较短的版本:
this.each(function() {
...
});
return this;
所以你现在可以清楚地看到,通过删除整行,你没有从函数返回任何东西。
问题不在于each
,如果您只想附加到单个元素,可以删除each
,例如
return this;
缺少任何返回值会阻止链接jQuery扩展的能力。