Équivalence de la fonction MooTools $defined() sous jQuery

Dans mon récent apprentissage de l’excellente librairie JavaScript jQuery, j’ai cherché une équivalence de la fonction MooTools $defined() permettant de déterminer si un objet est défini ou non. Ce test est très pratique sous MooTools car il permet par exemple d’améliorer la généricité des scripts ou encore d’éviter d’appeler des objets non définis sur la page courante et ainsi provoquer une erreur.

Voici donc un exemple de code jQuery permettant de tester si l’élément HTML portant l’id « define » existe ou non. Si et seulement s’il existe, nous lui affecterons alors un événement click. Notez également l’utilisation de preventDefault permettant de stopper le comportement par défaut de l’événement, comme par exemple le scroll en haut de page lors du clic sur un lien :

Une réflexion au sujet de « Équivalence de la fonction MooTools $defined() sous jQuery »
  1. FGRibreau

    Ou alors pour rester dans la même logique que Mootools:

    function $defined(obj){
    return !!$(obj).length;
    }

    if($defined(« #el »)){alert(‘ok’);}

    ou encore

    if($defined($(‘#el .monEl’))){alert(‘ok’);}

    Mais il serait plus logique de passer par un $(‘#monEl’).defined(); pour respecter la logique jQuery 🙂

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *