2009-11-03 7 views

Répondre

1

Vous pouvez réaliser cette conception avec quelque chose de semblable à ce qui suit. J'ai enveloppé la définition de plugin dans une fonction anonyme pour empêcher PluginObj de polluer l'espace de noms global.

(function($) { 
    function PluginObj() { 
     // construct stuff 
    } 

    PluginObj.prototype.customFunctionCallWithinPlugin = function() { 
     // do stuff 
    }; 

    $.fn.myPlugin = function() { 
     return new PluginObj(); 
    }; 
})(jQuery); 

La méthode jQuery renvoie un nouvel objet avec les méthodes que vous définissez. Ceci est un design non-standard pour un plugin jQuery, donc si vous envisagez de le distribuer assurez-vous qu'il est bien documenté.

+0

+1. Tu m'as battu. –

1

Vous devrez peut-être retourner une instance du plug-in plutôt que « ce ».

par exemple.

(function(){ 
    // private constructor that is only accessable by your plugin. 
    function _Plugin(elements, args){ 
     // do stuff 
    } 
    _Plugin.prototype.customFunctionCallWithinPlugin = function(){ 
     // do more stuff 
    }; 
    $.fn.Plugin = function(args){ 
     return new _Plugin(this, args); 
    }; 
})(); 

EDIT: Alex m'a battu.

+0

La similitude de nos commentaires est assez étonnante. Avoir un +1 vous-même: d –

+0

Merci les gars !!! Alex j'ai vérifié le vôtre mais je vais utiliser David :) – chchrist

Questions connexes