jquery - 为什么当我使用 jquery 隐藏它时该元素又显示出来

标签 jquery asp.net listview updatepanel linkbutton

我在网页中有一个 ListView 控件,在 ListView 中,我有一个 LinkBut​​ton。我的 LinkBut​​ton 位于 updatepanel 控件内。当我单击 LinkBut​​ton 时,计数器字段 +1。我使用 ClientIDMode="AutoID"因为我的页面没有完整的 postpack。现在,我希望当单击 LinkBut​​ton 时,LinkBut​​ton 的显示等于“无”。为此,我使用下面的脚本:

<script type="text/javascript">
function updateTextArea() {
    $('.like').on('click', 'a', function () {
        $(this).hide();
    });
}

<script type="text/javascript">
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(updateTextArea);
</script>

现在,我的问题是:当我单击 LinkBut​​ton 时,LinkBut​​ton 会隐藏并再次显示。我的错在哪里。请帮我。非常感谢。

这是我的 aspx 代码:

<asp:ListView ID="PortfolioListView" runat="server" onitemcommand="PortfolioListView_ItemCommand">
                <ItemTemplate>
                    <li class="item brick1 <%# Eval("CategoryName")%> isotope-item">
                        <a class="item-popup" href="Gallery/195x195/<%# Eval("MainImage") %>" title="<%# Eval("ShortDesc") %>">
                            <img src="Gallery/195x195/<%# Eval("MainImage") %>" alt="<%# Eval("Title") %>" />
                            <div class="hover">
                                <span class="Popup"><i class="fa fa-search-plus"></i></span>
                                <span><%# Eval("CategoryName")%></span>
                            </div>
                        </a>
                        <div class="bottom">
                            <div class="title"><span><%# Eval("Title")%></span></div>
                            <asp:UpdatePanel ID="UpdatePanel1" runat="server"><ContentTemplate>
                            <div class="like"><asp:LinkButton ID="LikeLBTN" runat="server" ClientIDMode="AutoID" OnClientClick="updateTextArea()" CommandName="Like" CommandArgument="<%# Bind('GalleryID') %>"><i class="fa fa-thumbs-o-up"></i><span><%# Eval("Counter")%></span></asp:LinkButton></div>
                            </ContentTemplate></asp:UpdatePanel>
                        </div>
                    </li>
                </ItemTemplate>
            </asp:ListView>

最佳答案

这是由于 asp.net 控件的自动发布功能而发生的。更新您的 java 脚本函数,其余代码将相同。

function updateTextArea() {
        $('.like').on('click', 'a', function () {
            $(this).hide();
            return false;
        });
    }

关于jquery - 为什么当我使用 jquery 隐藏它时该元素又显示出来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34287755/

相关文章:

android - 将单选按钮添加到 ListView

javascript - 选中复选框后导航到动态创建的 Backbone 路径

asp.net - 无法验证数据。在 System.Web.Configuration.MachineKeySection.GetDecodedData

wordpress - WooCommerce ListView

WebForms 404 中的 ASP.NET Web API

javascript - 如何启用 CORS

android - 设备方向改变时小部件丢失数据

Jquery 自动完成模板

jquery - addClass() 可以工作,但它有一个 css 优先级问题

php - 使用实时更新将在线用户显示为绿色,将离线用户显示为灰色