2014-12-08 3 views
1

Эй, ребята, я пытался сгладить JQuery-плагин Tipr.js и наткнулся на небольшое препятствие, в основном я играл с исходным кодом. и наткнулся на следующее:tipr.js, понимающий использование каждой функции

return this.each(function() { 

если выше линия по линии 21 удал ют и предшествующие закрывающие скобки удалены из линии 46.

см. Исходный код, чтобы увидеть, что я говорю.

Source code

плагин до сих пор работает отлично. Я имею в виду, я делаю то, что он предполагает. однако при запуске большего количества тестов я узнал, что удаление каждой функции из плагина влияет на мобильность плагина, например. теперь с каждым удален я не могу это сделать:

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

теперь я понимаю, использование каждой функции, но как-то в контексте этого pluggin, я не понимаю, почему каждая функция влияет на переменчивость.

How to create a basic plugin: эта документация немного помогла мне, но я не мог полностью понять.

было бы действительно фантастически, чтобы кто-нибудь мог объяснить, какую важную роль играет каждая из этих функций.

спасибо.

Тенали

+0

http://stackoverflow.com/questions/2678185/why-return-this-eachfunction-in-jquery-plugins –

+0

@Learner Спасибо. –

ответ

1

Эта связь @Learner при условии, хорошо, однако это старый и «принято» ответ нет «правильный» ответ.

В вашем конкретном примере, исходный код выглядит следующим образом:

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

, который для основного each на самом деле просто сокращенный вариант этого:

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

так теперь вы можете ясно видеть что, удалив всю эту строку, вы ничего не возвращаете из функции.

Это не отсутствие в each, что является проблемой, и вы могли удалить эту each, если вы хотите прикрепить к одному элементу, например,

return this; 

это отсутствие любого возвращаемого значения, который останавливает способность к цепи ваше расширение JQuery.

+0

новый для JQuery! так что изучать новые вещи! отлично ответил! Благодаря ! , –

Смежные вопросы