3
respostas

Dificuldades em desbilitar o" botao-reiniciar "

Estou seguindo o curso de jquery parte 2, e percebi que uma função opicional que eu implementei na parte 1 não está funcionando. Trata-se de desativar o "botao-reiniciar". O código está assim:

function inicializaCronometro() {
    campo.one("focus", function() {
        var tempoRestante = $("#tempo-digitacao").text();
        $("#botao-reiniciar").attr("disabled",true);
        var cronometroID = setInterval(function(){
            tempoRestante--;
            $("#tempo-digitacao").text(tempoRestante);
            if (tempoRestante < 1) {
                clearInterval(cronometroID);
                finalizaJogo();
            }
        }, 1000);
    });
};

function finalizaJogo(){
    campo.attr("disabled", true);
    campo.toggleClass("campo-desativado");
    inserePlacar();
    $("#botao-reiniciar").attr("disabled", false);
}

acontece que mesmo mudando o atributo disabled no botão, eu continuo podendo clicar nele sem problemas, o que causa alguns bugs.

a função attr() está funcionando normalmente para o objeto "campo", que fica desabilitado quando necessário. Também realizei alguns testes e eu consigo mudar alguns outros atributos sem problemas, o problema está em tornar esse botão disabled. O que pode estar acontecendo?

3 respostas

Fala aí Phellipe blz?

Cara tenta mudar a linha :

$("#botao-reiniciar").attr("disabled",true);

por essa:

$("#botao-reiniciar").prop("disabled",true);

E veja se funciona!

Olá Phellipe,

Então, o que acontece neste caso é que em certa parte do curso trocamos a botão de reiniciar , que era um tag <button> do HTML por ícone vermelho do Materialize, que é na verdade uma tag <a> do HTML.

O atributo disabled só é válido em coisas como inputs ou botões, e não em links, por isto esse código deixo de funcionar.

Estou procurando uma alternativa aqui para desabilitar o click em uma tag <a> enquanto o jogo está rolando, mas até agora não encontrei nenhuma que seja trivial.

Caso eu ache alguma, eu comento aqui e adiciono no treinamento para todos terem acesso a isto também,

Obrigado por notificar este erro :)

Abraços,

Douglas Quintanilha

Ok, estou no aguardo, muito obrigado!