Передайте несколько аргументов в $ .delegate - PullRequest
1 голос
/ 14 ноября 2011

аргументы взяты из jQuery как $(this) и содержат несколько элементов:)

пытался

  $('#el').delegate($(this), 'click' ...

  $('#el').delegate($(this).each(), 'click' ...

нет работы ..


(function($){
  $.fn.myfunction= function(){

    // here i need to somehow find .a, .b., .c etc... 
    $('#el').delegate($(this), 'click', function(event){

    });

  });
});

позже я называю это как:

  jQuery(document).ready(function($){
      $('.a, .b, .c').myfunction();
  });

поэтому я хочу, чтобы мое мероприятие было на всех новых .a, .b, .c ...

Ответы [ 3 ]

2 голосов
/ 14 ноября 2011

Вы должны добавить обычный обработчик:

$(this).bind('click', ...);

Вы также можете просто написать $(this).click(...)

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

1 голос
/ 14 ноября 2011

В зависимости от вашего кода вам потребуется $("xxxx").bind('click',function(e) {...}); ИЛИ $("xxx").live('click', function(e) {...});.

Если вы работаете с jquery v1.7, $. On () - это используемая функция, а $ .off () обращает ее.

1 голос
/ 14 ноября 2011

http://api.jquery.com/delegate/

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

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