2012-07-05 4 views
0

을 클릭 나는 다음과 같은 코드를 가지고 : 내 #bildDiv 클릭하면JQuery와 사업부

<div class="contentContainer"> 
     <div class="bild" id="bildDiv"> 
      <asp:ContentPlaceHolder ID="MainContent" runat="server"> 
      </asp:ContentPlaceHolder> 
      <div class="menubox" id="menuboxID"> 
       <table border="0" cellpadding="0" cellspacing="0" class="menutable"> 
        <tr> 
         <td> 
          <asp:ImageButton ID="ImageButton1" CssClass="menuitem" ImageUrl="~/Images/Icons_Home.png" 
           OnClick="HomeClick" runat="server" /> 
         </td> 
         <td> 
          <asp:ImageButton ID="ImageButton2" CssClass="menuitem" data-ftrans="slide" ImageUrl="~/Images/Icons_down.png" 
           OnClick="DownClick" runat="server" /> 
         </td> 
         <td> 
          <asp:ImageButton ID="ImageButton3" CssClass="menuitem" ImageUrl="~/Images/Icons_up.png" 
           runat="server" OnClick="UpClick" /> 
         </td> 
         <td> 
          <asp:ImageButton ID="ImageButton4" CssClass="menuitem" ImageUrl="~/Images/Icons_Video_alternative.png" 
           runat="server" /> 
         </td> 
         <td> 
          <asp:ImageButton ID="ImageButton5" CssClass="menuitem" ImageUrl="~/Images/Icons_Mail.png" 
           runat="server" OnClick="MailClick" /> 


         </td> 
        </tr> 
       </table> 
      </div> 
     </div> 
    <script> 
     $("#bildDiv").click(function() { 

      $("#menuboxID").toggleClass("fadein"); 
     }); 
     $('body').removeClass('ui-loading'); 
    </script> 

그래서, #menuboxID가 퇴색됩니다! 하지만 지금 #bildDiv에 텍스트 상자가 있습니다! sth를 쓰려면 텍스트 상자를 클릭하면 내 메뉴가 사라집니다! 하지만 난 그것을 원하지 않아 ... 내 div에 직접 클릭하면 페이드해야합니다! 솔루션?

+0

사용자 인터페이스가 어떻게 배치되어 있는지 생각해보십시오. 메뉴를 열려고하는 div 안에 텍스트 상자가 있으면 사용자에게 혼동을 줄 수 있습니다. 좀 더 명백한 것으로 메뉴를 만드는 것에 대해 생각하고 싶을 수도 있습니다. – Slick86

답변

1

는 다음을보십시오.

$("#bildDiv INPUT").click(function(event){ 
    event.stopPropagation(); 
}); 
1

stopPropgation 방법을 사용하여 이벤트의 전파를 중지

$("#bildDiv input").click(function (e) { 
    e.stopPropagation(); 
}); 
+0

당신의 해결책이 제 하루에 ... 고마워요! – davidOhara

0

페이즈 드가 효과적으로 사용하려면 Menubar에서만 사용하십시오. 클릭 이벤트를 #bildDiv가 아닌 #menuboxID에 연결합니다.

$("#menuboxID").click(function() { 

    $("#menuboxID").toggleClass("fadein"); 
});