2016-01-23 126 views
-1

我的問題是如果點擊這個$(「ul li ul li」),$(「ul li」)也會獲得事件點擊。jquery:如何檢查if條件中是否點擊某個元素

如果我點擊這個$(「ul li ul li」),我不希望爲點擊$(「ul li」)定義任何操作。

 <script> 
     $(function(){ 
       $("ul li ul").css("display", "none"); 
       $("ul li ul li ul").css("display", "none"); 

      $("ul li ul li").on("click", function(e){ 
        e.preventDefault(); 
        e.stopPropagation(); 

      var x=$(this).find("ul").css("display"); 
       if(x=="none"){ 
       alert("down"); 
       $(this).find("ul").css("display", "block"); 
       e.stopPropagation(); 
      return false; 
       } 

       if(x=="block" || x=="inline"){ 
       alert("down else"); 
       $(this).find("ul").css("display", "none"); 
       return false; 
       } 

      }); 

      $("ul li").on("click", function(e){ 
       e.preventDefault(); 

      var x=$(this).find("ul").css("display"); 
       if(x=="none"){ 
       alert("up");  
       $("ul li ul").css("display", "none"); 
       $("ul li ul li ul").css("display", "none"); 
       $(this).find("ul").css("display", "block"); 
       $(this).find("ul li ul").css("display", "none"); 
       return false; 

       } 

       if(x=="block" || x=="inline"){ 
       alert("up else"); 
       $(this).find("ul").css("display", "none"); 
       return false; 
       } 

      }); 


     }); 
     </script> 

在此先感謝

+1

使用'e.stopPropagation();' – guradio

+0

@guradio我用它但仍然,下來和upelse當我點擊$(「ul li ul li」)時提醒 –

+0

PS:爲什麼不使用.show()和.hide ) – mplungjan

回答

0

我可能誤解了你的問題,請說如果是的話。我會給你想綁定到一個id點擊孩子裏的母公司UL和目標及其嫡系裏的具體方法如下:

的Jquery:

$("#uniqueid > li").on("click", function(e) { 

HTML:

<ul id="uniqueid"> 
相關問題