9

为什么当我在按钮上设置 enabled=false 时,它​​在 Firefox 中无法正确呈现?而不是灰色的链接它仍然是蓝色的。

[更新]

ASP.net 已经删除了链接上的此类标签,因此唯一需要做的就是将链接变灰。换句话说,CSS 样式更改不是功能更改。

以下有效解决了禁用按钮在 Firefox 和 google chrome 中未显示为灰色的问题。我将它放入我的样式表中,现在我的所有链接按钮都正确呈现。

a[禁用]{
颜色:灰色!重要;文字装饰:无!重要;}

4

5 回答 5

12
a[disabled]
{
   color:Grey; text-decoration:none;
}

为我工作,谢谢...

于 2009-09-03T12:22:09.023 回答
2

W3Scholl 开始,“启用”属性不是 XHTML 4 的标准属性(它是 Microsoft 标准。)。您应该从超链接中删除 href 属性或使用我的以下代码

// cancel click event.
LinkButton1.Attributes["OnClick"] = "return false;";
// set css to display same disabled link in all browser
LinkButton1.CssClass = "LinkButton_Disabled";
于 2009-04-27T04:09:58.143 回答
2

当您禁用按钮时,它会向按钮添加“aspNetDisabled”类。所以你可以轻松地用你想要的任何东西设置“aspNetDisabled”类。

 .aspNetDisabled {
        color: black;
        background-color: #e3e3e3;
        text-decoration: none;
    }
于 2013-09-26T15:58:48.330 回答
1

在 C# 中,我发现扩展对于创建跨浏览器解决方案最有帮助。

public static class Extensions
{
    public static void Disable(this HtmlAnchor obj)
    {
        obj.Attributes.Remove("href");
        obj.Attributes.Add("disabled", "true");
        obj.Style.Add("color", "gray");
    }
}
于 2011-04-13T15:40:30.810 回答
0

下面的解决方案适用于非链接按钮,但也适用于链接。

var obj = document.getElementById('buttonId'');
getLabel = function(elem){
if (elem.id && elem.id=="label") {
elem.id = "disabledLabel";
}
};            
Dom.getElementsBy(getLabel ,'td', obj);

这会将按钮显示为禁用或灰显。

于 2010-08-27T14:25:12.903 回答