Aide - Recherche - Membres - Calendrier
Version complète : Classes avec jQuery
Forum Développeur - Administration serveur, programmation et base de données > Programmation > Javascript et AJAX
Warry
Bonjour/soir tout le monde !

Je fais du JS depuis quelques temps, et j'aimerais passer à la vitesse supérieure en créant une mini-app, et au passage avoir un premier contact avec jQuery. Je suis à l'étape de conceptualisation du projet, mais je crois que mes bases sont un peu molles sur certains points. En même temps, c'est pour ca que je le fais icon_razz.gif

J'aimerais affecter des variables/méthodes/évènements à des éléments du DOM. Par exemple chaque li.onglet ont un onclick, un hover etc... En javascript basique j'utilise les prototypes. Mais avec jQuery y'a la possibilité de créer des plugins, alors j'aimerais en profiter. Voici un exemple :

PHP

		$.fn.truc = function()
{
this.each(function() {
alert('yo');
});
};

$(document).ready(function() {
$('li').truc();
});


Mon objet est donc associé à truc, mais le sushi c'est que je dois utiliser each, alors comment faire pour créer une classe facilement associable à chaque objet ? Si j'utilise each directement après $('li') ca ne marche plus.

Comment procéderiez-vous ?
Warry
Personne ? Pour info j'ai cherché du côté des design patterns, mais il n'existe qu'un seul article la dessus, et j'ai pas réussi à le décortiquer correctement. Quant à la recherche pour le mot clef "prototype"... Argh pourquoi ils ont choisi ce nom pour leur bibliothèque ?!
L'implémentation des classes est disponible directement dans prototype.js mais le reste de la librairie m'intéresse moins...
MarvinLeRouge
Salut,

Je ne m'y connais pas en design patterns ou en prototype, mais si tu veux juste affecter des actions aux évènements sur certains éléments en jQuery, par exemple un simple $("li").hover(function1,function2); te permettrait d'affecter une gestion du hover et du out sur tous les li vers les fonctions indiquées.
C'est ce que tu voulais ?
Warry
Ca c'est la manière simple, ce que je veux c'est affecter tous les attributs/méthodes/évènements d'un coup, comme en langage objet.
Warry
En fait, jusqu'à présent, je passe mes objets jquery en paramètre pour l'instanciation. Mais du coup je peux pas faire $('div').action();
Et si je fais un plugin ($.fn.action) tous mes objets jquery reçoivent l'action.
Warry
En fait ma réponse était dans la doc des plugins !!! C'est en bas de la page, j'avais pas été jusque là icon_redface.gif

C'est vraiment pas pratique de pas pouvoir éditer ses propres messages...
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2008 Invision Power Services, Inc.