2010-11-09 26 views
1

J'utilise le plugin qTip 1.0.0-rc3 pour jQuery. Et, bien que ce n'est pas une grosse affaire, je suis curieux de savoir pourquoi cela fonctionne:Pourquoi ce JavaScript ne fonctionne-t-il pas?

$(document).ready(function() { 
    if (jQuery().qtip) { 
     $('[data-qtip]').each(function() { 
      var qTipContent = $(this).attr("data-qtip"); 
      $(this).qtip({ content: qTipContent }); 
     }); 
    } 
}); 

et cela ne pas travail:

$(document).ready(function() { 
    addToolTips(); 
}); 

function addToolTips() { 
    if (jQuery().qtip) { 
     $('[data-qtip]').each(function() { 
      var qTipContent = $(this).attr("data-qtip"); 
      $(this).qtip({ content: qTipContent }); 
     }); 
    } 
}; 

Le premier est invoqué dans une fonction et la ce n'est pas le cas. Voici le message d'erreur de Firebug:

f(this).data("qtip") is null 

Je suis sûr que c'est quelque chose de stupide, mais qu'est-ce que je manque?

Merci.

+3

Je soupçonne que quelque chose d'autre ne va pas. Ceux-ci se comporteront identiquement, sauf que 'addToolTips' n'est pas appelé ailleurs (ils sont tous les deux exécutés depuis" dans une fonction "). –

Répondre

1

Wow, je me sens stupide. Je viens de découvrir qu'il y avait un conflit caché dans un autre de mes fichiers locaux. Je savais que tout allait bien! Merci pour l'aide.

+2

Mon commentaire gagne! Whoo! –

0

Essayez de transmettre this à addToolTips() en tant que paramètre.

1

Le code que vous avez donné, est-il exécuté dans la "portée globale" ou est-il enveloppé par {et} (dans une autre fonction ou quelque chose)?