2011-11-14 28 views
1

的論據來自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事件......

+1

這沒有任何意義。你想做什麼? – SLaks

+0

我想鉤住某些元素的點擊事件的功能 – Alex

+0

這仍然沒有任何意義。在這種情況下,這是什麼?也許你應該在上面的代碼中顯示一些HTML和/或代碼。 – nnnnnn

回答

1

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

如果您使用的是jquery v1.7,$.on()是使用函數,而$ .off()會將其反轉。

2

您應該添加一個正常的處理程序:

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

您也可以只寫$(this).click(...)

.delegate允許您處理在與選擇器匹配的元素的子元素中發生的所有事件。