2012-07-05 75 views
0

我有以下代码: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> 

所以,当我点击我的#bildDiv,#menuboxID将在褪色!但是现在我的#bildDiv中有一些文本框!当我点击任何文本框来写信时,我的菜单就会消失!但我不希望它......它应该只是淡入,如果我直接点击我的div!解决方案?

+0

您可能想要考虑如何布置用户界面。如果文本框内的div应该打开菜单,这可能会让用户感到困惑。你可能想考虑通过更明显的东西来打开菜单。 – Slick86 2012-07-05 18:04:52

回答

1

尝试以下。

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

使用stopPropgation方法停止事件的传播:

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

您的解决方案让我的一天...谢谢! – davidOhara 2012-07-05 18:07:38

0

如果您只想在菜单栏中使用淡化效果。将#menuboxID的点击事件附加到#bildDiv。

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

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