2013-04-09 79 views
0

我第一次单击发生后,我的jquery禁用了点击后禁用了我的linkbutton。使用jquery禁用linkbutton(锚标记)

点击还应该删除并添加一些cssStyles。

问题是,在cssStyles更改后,linkbutton(呈现在html中的锚点)dosent被禁用。

回发后(由我手动触发)它被禁用。但那不是我想要的。我希望它是一个平稳的交易,并没有回传。

MarkupCode:

<asp:LinkButton ID="LinkButton" runat="server" OnClientClick="" CommandName="Answer" CssClass="linkButton" > 
    <asp:Panel ID="PoptionText" runat="server" CssClass="buttonStyle"> 
     <%# Eval("optionText") %> 
     <div> 
     <asp:Label ID="lbRätt" runat="server" Visible="false" CssClass="aktiv"></asp:Label> 
     </div> 
    </asp:Panel> 
</asp:LinkButton> 

Javascript代码:

$(document).ready(function() { 
    $("#LinkButton").click(function() {  
     $("#LinkButton").attr("disabled", "disabled"); //this does not happen 
     Rightanswer(); // This happens. Function to add remove cssStyles 
    }) 
    $("#LinkButton").click(function (e) { 
     if ($("#LinkButton").attr("disabled") == "disabled") { 
      e.preventDefault(); 
     } 
    });  
}); 

回答

1

你不能使用disabled属性锚标记,只有input元素具有disabled属性。你可以尝试像

$("#LinkButton").click(function (e) { 
    if ($("#LinkButton").hasClass(className)) { 
     // If have class dont follow href so will work only for first time 
     e.preventDefault(); 
    } 
    Rightanswer(); // Add/Remove class 
});  

这可能有助于Should the HTML Anchor Tag Honor the Disabled Attribute?

1

你也可以试试这个:

$("#<%=LinkButton.ClientID %>").click(function (e) { 
    e.preventDefault(); 
    $(this).attr("disabled", "disabled"); 
    // Whateverr your code goes here 
});