7

Đây là cách để ràng buộc nhiều sự kiện trên selectors vài jQuery:Làm thế nào để ràng buộc jQuery sự kiện trên nhiều PREDECLARED jQuery đối tượng

$('#selector1,.selector2').bind('event', function (e, ui) { 
    // Stuff 
}); 

Nhưng! Làm thế nào để bạn liên kết trên các đối tượng jQuery được khai báo trước. Ví dụ:

var jSelector1 = $('#selector1'); 
var jSelector2 = $('.selector2'); 

Bởi vì, sau đây không làm việc:

jSelector1,jSelector2.bind(...); 

cũng không:

$jSelector1,$jSelector2.bind(...); 
($jSelector1,$jSelector2).bind(...); 
(jSelector1,jSelector2).bind(...); 
+0

và tôi không tìm kiếm jAllSelectors = $ ('# selector1, .selector2'); – Kyle

Trả lời

9

này nên làm việc, giả định các biến của bạn giữ jQuery đối tượng

$.each([jSelector1, jSelector2], function(i,v) { 

    v.bind(...); 

}); 
+0

damn bạn đánh bại tôi với nó – Falle1234

+0

@ Falle1234 - tâm trí tuyệt vời :) –

+0

hoạt động hoàn hảo! cảm ơn nhiều! – Kyle

4

bạn sẽ có thể làm điều gì đó như thế này:

var jSelector1 = $('#selector1'); 
var jSelector2 = $('.selector2'); 

$.each([jSelector1, jSelector2], function(index, value) { 
    value.bind(....); 
}); 
+0

4 phút! chỉ trích. cảm ơn mặc dù! điều này cũng hoạt động :) – Kyle

4

Hoặc bạn có thể sử dụng .add().

var jSelector1 = $('#selector1'), 
    jSelector2 = $('.selector2'), 
    jSelector3 = $('.selector3'); 

jSelector1.add(jSelector2).add(jSelector3).bind('whatever', function() { 
    doSomethingAwesome(); 
}); 
Các vấn đề liên quan