将多个参数传递给$ .delegate

时间:2011-11-14 00:59:27

标签: jquery jquery-selectors delegates

参数来自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 个答案:

答案 0 :(得分:2)

您应该添加一个普通的处理程序:

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

您也可以写$(this).click(...)

.delegate允许您处理与选择器匹配的元素的子元素中发生的所有事件。

答案 1 :(得分:1)

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

您应该查看此链接,但我真的不知道您为什么要将click事件委托给您应用该委托的当前元素:S

答案 2 :(得分:1)

根据您的代码,您需要$("xxxx").bind('click',function(e) {...});$("xxx").live('click', function(e) {...});

如果您使用的是jquery v1.7,$.on()是要使用的函数,$ .off()会将其反转。