防止快速双击Repeater内的链接按钮

时间:2017-04-19 11:11:44

标签: javascript jquery asp.net vb.net

如果我有快速双击调用js函数Show(),(显示请稍候),但不调用函数vb.net Button_Click。

任何想法如何防止这种情况。

Thats my code:

ASPX         

<ItemTemplate>
<span style="padding: 25px !important; display: inline-block;">



 <asp:LinkButton ID="butcarr" BorderStyle="None"
  runat="server" Width="230px"  CssClass="text-accent-bright btn-lg btn  border-gray btn-raised btn-labeled small-padding"
OnClientClick="return add(this)"
 CommandArgument='<%# Eval("Id").ToString() %>'
  OnClick="Button_Click">                               
  </asp:LinkButton>



 </span>
</ItemTemplate>
 <FooterTemplate></div></div></FooterTemplate>
 </asp:Repeater>

的Javascript

function add(obj) {
            show();

             obj.disabled = true;


            return true;

        }


  function show() {           
 $find('<%= popup.ClientID%>').show();
        }

//服务器端

 Protected Sub Button_Click(ByVal sender As Object, ByVal e As EventArgs)
    'do something

    popup.Hide()
       End Sub

1 个答案:

答案 0 :(得分:0)

add()函数的其余部分永远不会执行,因为在第一行中您调用了show(),其中缺少来自JQuery选择器的哈希标记。当然,没有显示null的方法。 (另外我认为$find感觉非常奇怪。不确定,它可能会奏效,但我从未见过它。)

所以你的show函数应该是:

function show() {
    $('<%= "#" + popup.ClientID %>').show();
}