Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. JavaScript et jQuery
  3. Aller plus loin avec jQuery
Extrait - JavaScript et jQuery La programmation web par la pratique
Extraits du livre
JavaScript et jQuery La programmation web par la pratique Revenir à la page d'achat du livre

Aller plus loin avec jQuery

Introduction

jQuery est une bibliothèque ouverte. Cela signifie, d’une part, que son code source est disponible et donc modifiable, et d’autre part, qu’elle a été pensée pour pouvoir être facilement étendue, que de nouvelles fonctionnalités peuvent lui être adjointes à tout moment.

Nous allons maintenant voir de quelle manière.

Pour illustrer nos propos, nous utilisons dans ce chapitre la même page web exemple que celle utilisée dans le chapitre précédent.

Écrire un plug-in basique

Il existe plusieurs façons de créer de nouvelles méthodes au sein de la bibliothèque jQuery. Toutes enrichissent le prototype jQuery nommé $.fn.

Une de ces méthodes consiste simplement à nommer et à définir les méthodes directement sur le prototype, par exemple :

$.fn.maFonctionExemple = function (mesParametres) {monCode...}; 

Une autre manière de faire consiste à utiliser la méthode .extend() du prototype jQuery $.fn. Cette méthode accepte en paramètre un objet qui possède, en propriétés, les fonctions à ajouter comme méthodes à la bibliothèque. Celles-ci deviennent alors disponibles et exécutables sur l’ensemble des éléments retournés par le sélecteur sur lequel on les applique.

Enfin, il est aussi possible d’étendre la bibliothèque jQuery en utilisant la méthode .extend() de jQuery cette fois. Cette méthode permet d’étendre un objet passé en premier paramètre avec les fonctionnalités de l’objet passé en deuxième paramètre. Si nous lui passons en paramètres le prototype $.fn et un objet dont les propriétés sont la ou les méthodes à ajouter à la bibliothèque, celle-ci s’en trouve enrichie.

Exemple :

$.extend($.fn, {maFonction: function (){Le code de la fonction...}; 
autreFonction: function (params){le code de l'autre fonction...}}); 

Exemple utilisant l’autre syntaxe :

jQuery.extend(jQuery.fn, {maFonction: function (){Le code de la 
fonction...}; autreFonction: function (params){le code de l'autre 
fonction...}}); 

Quelle que soit la technique utilisée pour étendre jQuery, à l’intérieur de ces nouvelles méthodes, le contexte représenté par la variable this correspond aux éléments ramenés par le sélecteur, ce qui permet d’interagir directement avec eux.

Imaginons une méthode appelée .coloriser(), qui change la couleur de fond de tous les éléments ramenés par un sélecteur quelconque.

function coloriser(couleur) 
{ 
     this.each(e =>...