2010-04-28 6 views
0

J'ai fait un plugin jQuery pour les boîtes de mot de passe. Il ajoute un bouton de génération de mot de passe et un indicateur de force aux entrées qui lui sont transmises via un sélecteur jQuery. J'ai un problème avec le code sur les lignes 154 & 155 de jquery.password.js inputPassword.position().top. Il ne retourne pas la position correcte de la boîte de saisie, de sorte que le message d'erreur n'apparaît pas au bon endroit.javascript namespace issue (je pense)

Je pense que c'est probablement un problème avec ne pas être dans l'espace de nom correct, ou quelque chose comme ça, mais je ne comprends pas complètement comment cela fonctionne en javascript ... c'est mon premier plugin jQuery.

Merci

lien ** supprimé ***

Il n'a pas été namespaces, il a été parce que l'objet était caché. Alors fixé avec: if (inputPassword.is(":visible")) { positionObject = inputPassword; } else { positionObject = inputPlain; }

Répondre

0

position() retourne le décalage par rapport au parent, cependant, comme l'élément que vous essayez de la position est positionné tout à fait, vous pourriez trouver cela fonctionne si vous utilisez à la place offset().

Modifier: est masqué pendant que vous récupérez le offset()/position(). À partir des documents: Remarque: jQuery ne prend pas en charge l'obtention des coordonnées de décalage des éléments cachés.

+0

Votre lien vers offset n'est pas correct. Il peut être trouvé ici. http://api.jquery.com/offset/ – rahul

+1

non, j'ai essayé cela mais il est toujours positionné par rapport au coin supérieur gauche de l'écran – ianbarker

+0

@rahul: Oups, merci. – Matt