2010-05-06 2 views
2

Peut-être que mon cerveau est frit, mais j'écris un plugin qui crée un tweaks un élément, mais crée également un objet que je voudrais accéder à. Donc, le plugin ressemble à ceciPuis-je obtenir une référence à un objet créé dans un plugin jQuery?

(function ($) { 
    $.fn.myPlugin = function() { 
    return this.each(function() { 

      // do some stuff to the element... 

      this.objectInstance = new usefulObject(); 

    }); 
    }; 
})(jQuery); 

function usefulObject(){ 
    // useful object properties and methods.... 

    this.doSomething = function(){ 
     alert("Don't google Google. You'll break the internet."); 
    } 
} 

quand j'appelle le plug-in, je veux aussi être en mesure d'obtenir l'accès à ce usefulObject que j'ai créé. Je pensais que quelque chose comme ça pourrait fonctionner ....

tweakedElement = $("#someDiv").myPlugin(); 

tweakedElement.objectInstance.doSomething(); 

... mais cela ne fonctionne pas. Comment puis-je atteindre cet objectif? Puis-je réaliser cela? Réponses sur une carte postale, ou en bas, selon ce qui vous convient.

+0

quelle est votre adresse de domicile? une carte postale particulière que vous voulez? –

+2

123 rue Fake - Province de Helmand - Afghanistan. Et n'importe quoi avec des seins suffira. – gargantuan

+0

+1 pour la référence de foule IT. Mais je ne peux pas t'aider. –

Répondre

1

Vous pouvez stocker objectInstance sur l'élément en question en utilisant la fonction data jQuery:

http://api.jquery.com/jQuery.data/

La méthode jQuery.data() permet de attach données de tout type d'éléments DOM dans un moyen qui est sûr de références circulaires et donc de fuites de mémoire. Nous pouvons définir plusieurs valeurs distinctes pour un seul élément et les récupérer plus tard

+0

vous êtes génial. Merci! – gargantuan

+0

Pas de problème, j'espère que ça aide! –

Questions connexes