Jak mogę wyświetlić komunikat podpowiedzi po najechaniu kursorem przy użyciu jQuery?

85

Jak stwierdza tytuł, w jaki sposób mogę wyświetlić komunikat podpowiedzi po najechaniu kursorem przy użyciu jQuery?

Senthil Kumar Bhaskaran
źródło
1
O ile nie jest to element generowany dynamicznie lub podpowiedź, której zawartość może się zmienić, sugerowałbym użycie title="My tooltipatrybutu z samym elementem
Sudipta Chatterjee
proszę odnieść się, przetestowałem to działa bezbłędnie: stackoverflow.com/questions/11781665/…
Daniel Adenew

Odpowiedzi:

25

Proponuję qTip .

andreialecu
źródło
35
qTip jest bardzo ciężki (55kb, więcej niż niektóre całe frameworki JS). Zobacz odpowiedź psychotyka na temat używania atrybutu HTML. Ale jeśli chcesz czegoś lekkiego i ładnego, sprawdź tę wtyczkę JQuery o nazwie PowerTip, tylko 12kb i kompatybilną nawet ze starymi przeglądarkami - stevenbenner.github.com/jquery-powertip
sdailey
nie istnieje, opuszczony
Peter Krauss
189

Wtyczka Tooltip może być zbyt ciężka dla tego, czego potrzebujesz. Po prostu ustaw atrybut „tytuł” ​​na tekst, który chcesz wyświetlić w podpowiedzi.

$("#yourElement").attr('title', 'This is the hover-over text');
psychotik
źródło
11
Pamiętaj, że możesz również umieścić etykietkę narzędzia w atrybucie bezpośrednio w kodzie HTML: <div id = "DivWithTooltip" class = "DivClass" title = "Twoja wiadomość po najechaniu">
Mark Brittingham
3
To nie zadziałało w IE! Musiałem użyć propzamiast tego. $("#yourElement").prop('title', 'This is the hover-over text');
SNag
Cześć @psychotik. Czy można pogrubić ten tytuł?
krish___na
16

Następujące będzie działać jak urok (zakładając, że masz div / span / table / tr / td / etc z "id"="myId")

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

Dodatkowo .css('cursor','pointer')zmieni wskaźnik myszy po najechaniu kursorem.

bycie_eterealnym
źródło
2
jak dodać styl do
pojawiającej się
11

spójrz na wtyczkę jQuery Tooltip . Możesz przekazać obiekt opcji dla różnych opcji.

Dostępne są również inne alternatywne wtyczki podpowiedzi, z których kilka jest

Zapoznaj się z wersjami demonstracyjnymi i dokumentacją i zaktualizuj swoje pytanie, jeśli masz szczegółowe pytania dotyczące sposobu ich wykorzystania w kodzie.

Russ Cam
źródło
5

Możesz użyć podpowiedzi bootstrap . Nie zapomnij go zainicjalizować.

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

Zostanie wyświetlony tekst Wyjaśnienie po lewej stronie.

i uruchom go z js:

$('.tooltip-r').tooltip();
czarny
źródło
4

Zgodnie z zaleceniami qTip i inne projekty są dość stare, polecam używanie qTip2, ponieważ jest najbardziej aktualny.

berni
źródło
2

Spójrz na ToolTipster

  • łatwy w użyciu
  • elastyczne
  • dość lekki, w porównaniu z niektórymi innymi wtyczkami do podpowiedzi (39kB)
  • wygląda lepiej, bez dodatkowej stylizacji
  • ma dobry zestaw predefiniowanych motywów
pixparker
źródło
0

Możesz to zrobić używając samego css bez używania 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
źródło
Ta odpowiedź nie ma na celu udzielenia odpowiedzi na pytanie.
Devin Fields,