2010-12-10 40 views
0

avec le code suivant qTip fonctionne pour moi et génère infobulles:infobulle (Qtip) n'est pas fermée, jQuery

$('a.ppname[rel]').live('mouseover', function() { 
    $(this).qtip({ 
    content : { 
     url : $(this).attr('rel') 
    }, 
    position : { 
     corner : { 
     tooltip : 'leftBottom', 
     target : 'rightBottom' 
     } 
    }, 
    style : { 
     border : { 
     width : 5, 
     radius : 10 
     }, 
     padding : 10, 
     textAlign : 'center', 
     tip : true, // Give it a speech bubble tip with 
     // automatic corner detection 
     name : 'cream' // Style it according to the preset 
    // 'cream' style 
    } 

    }); 
    }); 
}); 

Mais le Qtip n'est pas supprimé du dom, et parfois il disparaît et apparaît à nouveau et je obtenir beaucoup d'info-bulles ouvertes:

alt text

Je regardais le Royaume, le qtip ne semble pas être supprimé mais il suffit de définir invisible. J'ai besoin d'une logique simple pour détruire l'info-bulle. Par exemple. si a.ppname était ciblé et ne se concentrait plus, je pourrais le détruire. Mais à quoi cela ressemblerait-il en javascript? Des idées?

Mise à jour: J'ai rétrogradé mon jQuery à 1.3.2 recommended for qTip. Je ne reçois pas les infobulles qui restent ouverts plus, mais il y a un autre problème maintenant:

alt text

Les info-bulles, qui pour l'instant je ne peux pas supprimer semblent apparaître quand je passe la souris l'élément suivant. S'il vous plaît, fournissez quelques suggestions pour détruire l'info-bulle.

Mise à jour: en utilisant

$('a.ppname[rel]').each(function(){ 

dans la première ligne du code le problème est résolu. Mais cela conduit à un autre problème un autre problème que je décris ici qTip tooltip does not appear, jQuery. semble être un dilemme ^: D

+1

Vous devriez toujours un lien vers la page du plug-in, doublement quand le plug-in est un homonymie avec un bâton de coton pour nettoyer vos oreilles. – Incognito

Répondre

1

Vous pouvez supprimer l'info-bulle du DOM en appelant la méthode destroy lorsque l'info-bulle est caché. Essayez ceci (kudos à Matt pour son exemple que je copié et règlements ultérieurs):

$('a.ppname[rel]').qtip({ 
    content : {stuff}, 
    style : {stuff}, 
    position: {stuff}, 
    show: 'mouseover', 
    hide: 'mouseout', 
    onHide: function() { $(this).qtip('destroy'); } 
}); 
+0

hm la boîte à outils reste dans le dom ... Je mets à jour ma question. –

2

Je pense que ce que vous voulez est

$('a.ppname[rel]').qtip({ 
    content : {stuff}, 
    style : {stuff}, 
    position: {stuff}, 
    show: 'mouseover', 
    hide: 'mouseout' 
}) 
+0

hm, cela ne fonctionne pas. Les info-bulles sont toujours dans le dom, et certains d'entre eux ne sont pas en train de disparaître. Je suis à la recherche d'une méthode pour les retirer du dom après que a.ppname a perdu le focus, ou que la souris ne se déplace plus sur a.ppname –