单击JQuery中的事件问题

单击JQuery中的事件问题,jquery,asp.net,dom,dopostback,Jquery,Asp.net,Dom,Dopostback,我有一个常见的场景,当单击窗口时会关闭一个弹出div $(window).load(function (){ $('.popupstyle').live("click", function(e){ return false; }); }); $(document).ready(function(){ $(window).click(function(){ $('.popupstyle').hide(); }); }); 但

我有一个常见的场景,当单击窗口时会关闭一个弹出div

   $(window).load(function (){
   $('.popupstyle').live("click", function(e){
       return false;
    });
    });
   $(document).ready(function(){
   $(window).click(function(){
   $('.popupstyle').hide();
    });
  });

但问题是,没有像LinkButton这样的控件的回发事件在PopupDiv上工作。在弹出div的点击事件中返回false会产生问题。它会融合popuop div上的所有内容。不知道该怎么做修复一件事会干扰另一件事。此外,第一次单击时实时事件不起作用。任何建议

导致此问题的原因是事件冒泡,其中子元素的事件冒泡到父元素

防止这种情况的一种方法是在遇到目标元素时使用e.stopPropagation()


@sushanth是对的。这是因为事件冒泡,这是一个重要的核心概念。在有两个监听器(
$('.popupstyle').live(“单击“
$(窗口)。单击“
”)的情况下,它可能会使您陷入困境。我们也可以利用冒泡来发挥我们的优势,用单个监听器执行相同的任务(
$(窗口)。单击“


这是一个常见的问题,看看这个
  $(window).click(function(e){
       if( ! $(e.target).hasClass('popupstyle') ){ $('.popupstyle').hide(); } 
  });