2009-07-19 10 views
0

Ich habe eine HTML-Seite voller Daten. Wenn der Benutzer den Mauszeiger über einen Eintrag bewegt, wird ein Popup-Fenster angezeigt (ähnlich einer QuickInfo). Ich möchte, dass dieser Tooltip so lange angezeigt wird, wie der Benutzer nicht darauf klickt, UND andere Tooltips können nicht angezeigt werden.
Meine Frage ist dies: Wie "sperre" ich andere Hover-Ereignisse aus, entweder mithilfe von Flags oder einer anderen Methode, um dies zu erreichen?JQuery 'binäre Sperre' Emulation

EDIT: Frage Fahnen mit der Verwendung von: Sagen in meinem Dokument bereit Ich habe diese:

var flag = 1; 
flag = Inithoverhandler(flag); 
flag = Inithoverhandler2(flag); 

Da der Hover-Handler nur initialisiert, wenn die Seite geöffnet wird, Flagge wird nicht immer aktualisiert. Was ist die richtige Struktur für die Verwendung von Flags als Variablen, die an Funktionen übergeben werden?

Danke,
Michael

Antwort

0

könnten Sie ein Flag verwenden, oder Sie können testen, wie viele Fenster derzeit sichtbar sind die Verwendung von: sichtbar Selektor. Wenn es 1 ist, zeige dein nächstes Fenster nicht an.

$(".tooltip:visible").length; // how many tooltips are currently showing? 
$(".tooltip:visible").hide(); // hide any visible tooltip. 

Was nur Tooltips zeigen, wenn keine andere derzeit sichtbar ist:

$(".showTooltip").click(function(){ 
    if ($(".tooltip:visible").length > 0) return false; 
    $(".tooltip", this).show(); 
}); 

Arbeiten mit:

<div class="showTooltip"> 
    <div class=".tooltip"><p>This is the tooltip.</p></div> 
</div>