如何在单击功能上绑定jquery中的2个元素

时间:2019-01-14 13:00:47

标签: javascript jquery

对于使用类submitmodal关闭模式,我使用此代码,并且效果很好。

$('.submitmodal').click(function() {          
      window.location.hash='close';
});

对于单击身体的某处,我使用以下方法:

$('body').click(function() {          
      window.location.hash='close';
    });

我如何将它们合并在一起?

我尝试了这个,但是没有用

$('.submitmodal', 'body').click(function() {          
      window.location.hash='close';
    });

6 个答案:

答案 0 :(得分:7)

尝试

(".submitmodal, body").click(function() {          
      window.location.hash="close";
});

选择器必须位于同一字符串中,并用逗号分隔。

答案 1 :(得分:2)

尝试一下:

    $(document).on("click",'body',function(){
       window.location.hash='close';
    })

答案 2 :(得分:1)

这应该做

$('.submitmodal, body').click(function() {          
    window.location.hash = 'close';
});

答案 3 :(得分:1)

您可以使用first selector, second selector

使用多个选择器
$('body,.submitmodal').click(function() {          
          window.location.hash='close';
        });

答案 4 :(得分:0)

您可以指定任意数量的选择器以组合成一个结果。这种多表达式组合器是选择不同元素的有效方法。返回的jQuery对象中DOM元素的顺序可能不相同,因为它们将按文档顺序排列。

$("body, .submitmodal").click(function() {          
      window.location.hash="close";
});

有关更多帮助,请参见:multiple-selector 希望对您有所帮助:),谢谢。

答案 5 :(得分:0)

这应该可以解决您的问题:

$('.submitmodal, body').click(function() {          
      window.location.hash='close';
});

但是我看到的问题是,当您单击主体上的任意位置时,您正在关闭模态,这包括当您单击打开自身的元素时。所以我建议你写这样的东西:

$('body, .submitmodal').click(function(e) {  
      if (e.target !== this) return;  //prevents body's child elements from being affected
      window.location.hash='close';
});

我已经进行了一些测试,显然,“ this”是对第一个选择器(主体)的引用,对于这种情况是合适的。