我想点击某个元素显示一个对象,   点击页面任意处,隐藏这个对象  
//点击look对象,显示隐藏mydiv
 $("#look").bind("click", function () {
      
        $("#mydiv").toggle();
     
        })
//点击任意地方,隐藏显示的mydiv        $(document).bind("click", function () {
           
            if ($("#mydiv").css("display") == "block") {
                $("#mydiv").hide();
            }        })这样两个事件冲突了,点击look对象,不会显示mydiv

解决方案 »

  1.   

    防止点击事件冒泡 return false;
      

  2.   

    不是冲突。。是冒泡了,,
    $("#look").bind("click", function (e) {
       
      $("#mydiv").toggle();
       e.stopPropagation
      })试试
      

  3.   


     $("#look").bind("click", function () {
        
      $("#mydiv").toggle();
        return false;
      })
      

  4.   


     $(document).bind("click", function (e) {
        if ($(e.target).is('#test')) return;
        else{ 
            if ($("#mydiv").css("display") == "block") {
                 $("#mydiv").hide();
            }
        }
      })
      

  5.   


    $("#look").bind("click", function () {  
      $("#mydiv").toggle();  
    event.stopPropagation();
      })
      

  6.   

    return false就好了.<html><head>
    <script type="text/javascript" src="/jquery/jquery.js"></script>
    <script type="text/javascript">
    $(document).ready(function(){
      $("p").click(function(){
      $(this).hide();
      });$("#look").bind("click", function () {
       
      $("#mydiv").toggle();
    return false;
       
      })
    //点击任意地方,隐藏显示的mydiv  $(document).bind("click", function () {
       
      if ($("#mydiv").css("display") == "block") {
      $("#mydiv").hide();
      }  })
    });
    </script>
    </head><body>
    <div id='look'>
       click
    </div>
    <div id="mydiv">
    <p>If you click on me, I will disappear.</p>
    </div>
    </body></html> 
      

  7.   


    $(function(){
    $("#look").click(function (e) {   
         $("#mydiv").show();
         return false;   
      });
    //点击任意地方,隐藏显示的mydiv
      $(document).click(function () {   
          $("#mydiv").hide();
      });
    });