Por que linkbuttons não dissimulados quando desativado no FireFox?
-
16-09-2019 - |
Pergunta
Por que quando eu definir habilitado = false em um botão ele não processar corretamente no Firefox? Em vez de grisalho o link ainda é azul.
[UPDATE]
ASP.net já remove essas marcas no link então a única coisa que é necessário é a cinza que ele ligar. Em outras palavras uma mudança de estilo CSS não uma mudança funcionalidade.
As seguintes efetivamente resolvido os botões com deficiência não aparecendo como acinzentado no Firefox e Google Chrome. Eu coloquei isso na minha folha de estilo e agora todos os meus botões de link processar corretamente.
a [disabled] {
cor: Cinza importante;
text-decoration: nenhum importante;
}
Solução
a[disabled]
{
color:Grey; text-decoration:none;
}
funcionou para mim, obrigado ...
Outras dicas
A partir W3Scholl , "Enabled" A propriedade não é a propriedade padrão de XHTML 4 (é Microsoft padrão.). Você deve remover propriedade href do hiperlink ou usando o meu código a seguir
// cancel click event.
LinkButton1.Attributes["OnClick"] = "return false;";
// set css to display same disabled link in all browser
LinkButton1.CssClass = "LinkButton_Disabled";
Quando você desativar um botão que adiciona classe "aspNetDisabled" para o botão. assim você pode facilmente definir a classe "aspNetDisabled" com o que quiser.
.aspNetDisabled {
color: black;
background-color: #e3e3e3;
text-decoration: none;
}
Em C #, descobri que uma extensão é a mais útil para criar uma solução cross-browser.
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");
}
}
A solução abaixo é para botões não link, mas isso pode ser feito para o link também.
var obj = document.getElementById('buttonId'');
getLabel = function(elem){
if (elem.id && elem.id=="label") {
elem.id = "disabledLabel";
}
};
Dom.getElementsBy(getLabel ,'td', obj);
Isto irá mostrar botão como desativar ou acinzentada.