Como posso exibir uma mensagem de dica de ferramenta ao passar o mouse usando jQuery?

86

Como o título indica, como posso exibir uma mensagem de dica de ferramenta ao passar o mouse usando jQuery?

Senthil Kumar Bhaskaran
fonte
1
A menos que seja um elemento gerado dinamicamente ou uma dica de ferramenta cujo conteúdo pode mudar, eu sugeriria usar o title="My tooltipatributo com o próprio elemento
Sudipta Chatterjee
consulte Eu testei seu funcionamento perfeito: stackoverflow.com/questions/11781665/…
Daniel Adenew

Respostas:

25

Eu sugiro qTip .

andreialecu
fonte
36
qTip é muito pesado (55kb, mais do que alguns frameworks JS inteiros). Veja a resposta do psychotik sobre o uso do atributo HTML. Mas se você gostaria de algo leve e bonito, verifique este plugin JQuery chamado PowerTip, de apenas 12kb e compatível até mesmo com navegadores antigos - stevenbenner.github.com/jquery-powertip
sdailey
190

O plugin de dica de ferramenta pode ser muito pesado para o que você precisa. Basta definir o atributo 'título' com o texto que deseja mostrar na dica de ferramenta.

$("#yourElement").attr('title', 'This is the hover-over text');
psicótico
fonte
11
Observe que você também pode colocar sua dica de ferramenta no atributo diretamente no HTML: <div id = "DivWithTooltip" class = "DivClass" title = "Sua mensagem instantânea">
Mark Brittingham
3
Isso não funcionou para mim no IE! Tive que usar em seu proplugar. $("#yourElement").prop('title', 'This is the hover-over text');
SNag
Olá, @psychotik. É possível colocar este título em negrito?
krish___na
16

Seguir funcionará perfeitamente (supondo que você tenha div / span / table / tr / td / etc com "id"="myId")

    $("#myId").hover(function() {
        $(this).css('cursor','pointer').attr('title', 'This is a hover text.');
    }, function() {
        $(this).css('cursor','auto');
    });

Como cortesia, .css('cursor','pointer')mudará o ponteiro do mouse ao pairar.

ser_etéreo
fonte
2
como adicionar estilo na dica
exibida
11

dê uma olhada no plugin jQuery Tooltip . Você pode passar um objeto de opções para opções diferentes.

Existem também outros plug-ins de dicas alternativos disponíveis, dos quais alguns são

Dê uma olhada nas demonstrações e na documentação e atualize sua pergunta se tiver perguntas específicas sobre como usá-los em seu código.

Russ Cam
fonte
5

Você pode usar a dica de ferramenta de inicialização . Não se esqueça de inicializá-lo.

<span class="tooltip-r" data-toggle="tooltip" data-placement="left" title="Explanation">
inside span
</span>

Será mostrado o texto Explicação no lado esquerdo.

e execute-o com js:

$('.tooltip-r').tooltip();
Preto
fonte
4

Como o qTip recomendado e outros projetos são bastante antigos, recomendo o uso do qTip2, pois ele está mais atualizado.

Berni
fonte
2

Dê uma olhada no ToolTipster

  • fácil de usar
  • flexível
  • muito leve, em comparação com alguns outros plug-ins de dicas (39kB)
  • parece melhor, sem estilo adicional
  • tem um bom conjunto de temas predefinidos
pixparker
fonte
0

Você pode fazer isso usando apenas css sem usar nenhum jQiuery.

<a class="tooltips">
    Hover Me
    <span>My Tooltip Text</span>
</a>
<style>
    a.tooltips {
        position: relative;
        display: inline;
    }

        a.tooltips span {
            position: absolute;
            width: 200px;
            color: #FFFFFF;
            background: #000000;
            height: 30px;
            line-height: 30px;
            text-align: center;
            visibility: hidden;
            border-radius: 6px;
        }

            a.tooltips span:after {
                content: '';
                position: absolute;
                top: 100%;
                left: 35%;
                margin-left: -8px;
                width: 0;
                height: 0;
                border-top: 8px solid #000000;
                border-right: 8px solid transparent;
                border-left: 8px solid transparent;
            }

    a:hover.tooltips span {
        visibility: visible;
        opacity: 0.8;
        bottom: 30px;
        left: 50%;
        margin-left: -76px;
        z-index: 999;
    }
</style>
Nalan Madheswaran
fonte
Esta resposta não visa responder à pergunta.
Devin Fields