2009-09-08 3 views
0

J'ai un plug-in jQuery qui fonctionne sur certains ELU, ajout et la suppression des classes, etc.jQuery plug-in avec d'autres méthodes

Au cours du cycle de vie de la page, je vais besoin d'ajouter/supprimer certaines classes dans le code, et comme mon plug-in doit effectuer certaines opérations supplémentaires quand cela arrive je suis venu avec ce qui suit:

// This is the initialiser method... 
$.fn.objectBuilder = function (options) {...}; 
// These are the two new methods I need. 
$.fn.objectBuilder.setSelected(element) {...}; 
$.fn.objectBuilder.removeSelected() {...}; 

J'aimerais ensuite les appeler comme ceci:

$("#ob1").objectbuilder.removeSelected(); 

Des pensées?

Merci, Kieron

modifier

Je suppose que ce que je demande est, ce qui est la meilleure façon d'ajouter des méthodes supplémentaires à un plug-in jQuery où il aura accès à la objet racine, dans ce cas #obj lorsque la méthode est appelée.

Répondre

2

Ma solution pour cela a toujours été les événements. Je configuration des événements sur chaque objet un espace de noms afin qu'ils puissent être déclenchées plus tard:

$.fn.testPlugin = function() { 
    return this.each(function() { 
    $(this).bind('testPlugin.event1', function() { 
     blah, blah, blah; 
    }); 
    }); 
}; 

Et puis plus tard ...

$('#obj1').trigger('testPlugin.event1'); 

jQuery UI utilise une autre solution qui est un peu plus compliqué. Vous pouvez le vérifier ici: http://jqueryui.com/docs/Developer_Guide

+0

Le guide du développeur était exactement ce que je cherchais, merci! – Kieron