Ir ao conteúdo

Posts recomendados

Postado

Tenho um menu, o qual foi escrito com uma lista e cada item tem uma tag <a> com um endereçamento. Só que em determinada situação preciso que esse menu fique desabilitado dinamicamente. Já tentei com:

$('.menu li a').prop('disabled', true)

do JQuery e não funciona, somente com os botões. Se alguém souber agradeço muito se compartilhar.

Postado

@Luís Roberto C. da Silva O elemento <a> não tem uma propriedade Disabled.

 

Se você quiser desativar esses links você pode usar um atributo customizado no elemento e quando o usuário clicar no elemento você faz a verificação desse atributo.

 

Exemplo:

<div>
            <nav class="menu">
                <li><a href="javascript:void(0)" data-operation="true">Home</a></li>
                <li><a href="javascript:void(0)" data-operation="true">Galeria</a></li>
                <li><a href="javascript:void(0)" data-operation="true">Contato</a></li><!-- Esse link vai ser desativado -->
            </nav>
        </div>
        <script>

            $(function(){
                $(".menu li a").on("click", function(){
                    let operation = $(this).attr("data-operation");
                    if(operation == "true")
                    {
                        alert("Você clicou em um botão no menu");
                    }

                });
                $(".menu li:last-child a").attr("data-operation", false);
            });

        </script>

Você também pode fazer essa verificação usando uma class

 

Exemplo:

       <div>
            <nav class="menu">
                <li><a href="javascript:void(0)">Home</a></li>
                <li><a href="javascript:void(0)">Galeria</a></li>
                <li><a href="javascript:void(0)">Contato</a></li><!-- Esse link vai ser desativado -->
            </nav>
        </div>
        <script>

            $(function(){
                $(".menu li a").on("click", function(){
                    if(!$(this).hasClass("disabled"))
                    {
                        alert("Você clicou em um botão no menu");
                    }

                });
                $(".menu li:last-child a").addClass("disabled");
            });

        </script>

 

  • Curtir 1
  • Obrigado 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...