JQuery делегаты с плагинами - PullRequest
3 голосов
/ 18 мая 2010

jQuery делегаты хороши, особенно при использовании с событиями щелчка строк таблицы.

Мне было интересно, можно ли использовать также делегаты с плагинами?

Например, если я присоединяюэластичный плагин для каждой текстовой области, я бы сделал:

$("textarea").elastic();

Но как бы я прикрепил этот плагин с помощью делегата?

Ответы [ 2 ]

4 голосов
/ 18 мая 2010

Вы можете обмануть. Ну, вы можете в этом случае.

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

Предполагается, что вы подключены к этому плагину:

http://www.unwrongest.com/projects/elastic/

тогда, так как вы всегда должны фокусировать текстовую область перед тем, как набирать / вставлять в нее, вы можете сделать это:

$('textarea').live( 'focus', function(){
   if( !$(this).data('iselastic') )
      $(this).data('iselastic', true).elastic();
})

Я предполагаю, что вы используете jQuery 1.4 по крайней мере.

4 голосов
/ 18 мая 2010

Это действительно зависит от автора плагина, чтобы написать плагин для использования делегирования событий. Live и делегат не будут работать при применении плагина.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...