为什么当我在按钮上设置 enabled=false 时,它在 Firefox 中无法正确呈现?而不是灰色的链接它仍然是蓝色的。
[更新]
ASP.net 已经删除了链接上的此类标签,因此唯一需要做的就是将链接变灰。换句话说,CSS 样式更改不是功能更改。
以下有效解决了禁用按钮在 Firefox 和 google chrome 中未显示为灰色的问题。我将它放入我的样式表中,现在我的所有链接按钮都正确呈现。
a[禁用]{
颜色:灰色!重要;文字装饰:无!重要;}
为什么当我在按钮上设置 enabled=false 时,它在 Firefox 中无法正确呈现?而不是灰色的链接它仍然是蓝色的。
[更新]
ASP.net 已经删除了链接上的此类标签,因此唯一需要做的就是将链接变灰。换句话说,CSS 样式更改不是功能更改。
以下有效解决了禁用按钮在 Firefox 和 google chrome 中未显示为灰色的问题。我将它放入我的样式表中,现在我的所有链接按钮都正确呈现。
a[禁用]{
颜色:灰色!重要;文字装饰:无!重要;}
a[disabled]
{
color:Grey; text-decoration:none;
}
为我工作,谢谢...
从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";
当您禁用按钮时,它会向按钮添加“aspNetDisabled”类。所以你可以轻松地用你想要的任何东西设置“aspNetDisabled”类。
.aspNetDisabled {
color: black;
background-color: #e3e3e3;
text-decoration: none;
}
在 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");
}
}
下面的解决方案适用于非链接按钮,但也适用于链接。
var obj = document.getElementById('buttonId'');
getLabel = function(elem){
if (elem.id && elem.id=="label") {
elem.id = "disabledLabel";
}
};
Dom.getElementsBy(getLabel ,'td', obj);
这会将按钮显示为禁用或灰显。