代码之家  ›  专栏  ›  技术社区  ›  ESP32

jquery对象中的jquery选择器

  •  1
  • ESP32  · 技术社区  · 7 年前

    我怎么能听 onChange 多个jquery对象的事件?

    var el1= jQuery('input[type="checkbox"][name="x"]');
    var el2= jQuery('input[type="checkbox"][name="y"]');
    jQuery(el1, el2).change(function (e) {
        //....
    });
    

    当然,我可以将2个元素选择器作为字符串放入 .change 函数,但这是一个简化的示例。我想使用jquery对象,而不是字符串选择器。

    这看起来像是一个简单的“让我谷歌为你”的问题,但我已经找不到一个解决方案,在过去的一个小时。

    3 回复  |  直到 7 年前
        1
  •  1
  •   Racil Hilan    7 年前

    你可以用 add() merge() 方法:

    添加:

    el1.add(el2).change(function (e) {
        //....
    });
    

    合并:

    $.merge(el1, el2).change(function (e) {
        //....
    });
    
        2
  •  1
  •   Saeed    7 年前

    试试这个

    var el1 = jQuery('input[type="checkbox"][name="x"]');
    var el2 = jQuery('input[type="checkbox"][name="y"]');
    
    
    $(document).on('change', [el1, el2], function() {
      console.log('multiple')
    })
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    
    <label for="el1">Element 1</label>
    <input id="el1" type="checkbox" name="x" value="test1" />
    <label for="el2">Element 2</label>
    <input id="el2" type="checkbox" name="y" value="test2" />

    它也是谷歌的第一个结果,主要链接是 this

        3
  •  1
  •   Damian Dziaduch    7 年前

    你可以用 .add() :

    el1.add(el2).on('change', function () { /* body */ });