代码之家  ›  专栏  ›  技术社区  ›  Kyle Cureau

如何在多个预先声明的jQuery对象上绑定jQuery事件

  •  7
  • Kyle Cureau  · 技术社区  · 14 年前

    以下是如何在一对jQuery选择器上绑定多个事件:

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

    但是!如何绑定预先声明的jQuery对象。例子:

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

    因为,以下方法不起作用:

    jSelector1,jSelector2.bind(...);
    

    $jSelector1,$jSelector2.bind(...);
    ($jSelector1,$jSelector2).bind(...);
    (jSelector1,jSelector2).bind(...);
    
    3 回复  |  直到 14 年前
        1
  •  9
  •   Russ Cam    14 年前

    假设变量中包含jQuery对象,这应该是可行的

    $.each([jSelector1, jSelector2], function(i,v) {
    
        v.bind( ... );
    
    });
    
        2
  •  4
  •   Falle1234    14 年前

    你应该可以这样做:

    var jSelector1 = $('#selector1');
    var jSelector2 = $('.selector2');
    
    $.each([jSelector1, jSelector2], function(index, value) { 
      value.bind(....); 
    });
    
        3
  •  4
  •   Alexis Pigeon Shawn Skelton    12 年前

    或者你可以用 .add()

    var jSelector1 = $('#selector1'),
        jSelector2 = $('.selector2'),
        jSelector3 = $('.selector3');
    
    jSelector1.add(jSelector2).add(jSelector3).bind('whatever', function() {
      doSomethingAwesome();
    });