捕获一些点击,而不是全部

时间:2012-11-14 09:59:12

标签: javascript jquery javascript-events delegates

我已经构建了一个模态框,它使用全部覆盖背景淡出内容,并允许用户单击该框以关闭它。我通过捕获所有点击来做到这一点,但过滤掉模型框上的任何点击。

  $('body').on('click', '.cover_slide > *',function(e){
    e.stopPropagation();
  });
  $('body').on('click', '.cover_slide',function(){
    helper.cover.close();
    $('body').off('click', '.cover_slide');
  });

我希望能够通过点击与我的模态框中的某些元素进行交互,但我似乎无法弄清楚如何做到这一点并且仍然有我的“点击关闭”功能。目前,该框的所有点击均被忽略。

1 个答案:

答案 0 :(得分:1)

无需多次绑定点击。尝试使用此代码段。请注意,您可能必须根据元素的实际位置更改最近的选择器

$(document).bind("click", function(e) {
    if($(e.target).closest("div").hasClass('coverSlide')) {
        //do stuff if someone clicks the box
    }
});
相关问题