JQuery Click on Div

JQuery Click on Div

本文关键字:Div on Click JQuery      更新时间:2023-09-26

我有以下代码:

<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 里有一些文本框!当我点击任何文本框以写 sth 时,我的菜单会淡入!但我不希望它...只有当我直接单击我的div 时,它才会淡入!解决 方案?

尝试以下操作。

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

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

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

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

$("#menuboxID").click(function () {
    $("#menuboxID").toggleClass("fadein");
});