IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Création d'un plugin, bind et preventdefault


Sujet :

jQuery

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 4
    Points : 7
    Points
    7
    Par défaut Création d'un plugin, bind et preventdefault
    Bonjour à tous,

    Je m’entraîne sur jQuery depuis quelques temps en essayant de créer mes propres fonctions, dont une fonction qui permet l'ouverture dynamique d'une petite page. Mon code est pas super propre, j'ai fais un JS externe avec une fonction "chargementDynamique();" qui va chercher toutes les balises avec la classe "lienDynamique" afin d'y bind mes fonctions. Tout marche sans soucis.

    Là ou j'aimerais faire quelque chose de plus propre, c'est essayer de transformer tout ça en plugin, pour avoir quelque chose de ce style dans mon code source : $(".lienDynamique").chargementDynamique(); afin de faire qu'un seul appel et de pouvoir réutiliser plus facilement ma fonction à travers les différentes pages.

    Pour commencer et tester le système de plugin, j'ai fais ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    (function ($) {
    	$.fn.chargementDynamique = function() {
    		console.log("Test Plugin - Chargement Dynamique");
    		this.bind("click", function(event) {
    			console.log("Clique sur bouton");
    			event.preventDefault();
    		}); 
    	};
    })(jQuery);
    Pas d'erreur déjà, mon console.log marche bien, mais là ou ça foire, c'est que mon preventDefault ne fonctionne pas, et du coup quand je clique sur mes liens avec la classe lienDynamique, la page s'ouvre, alors que je veux empêcher l'ouverture... après le reste je verrais, mais là déjà, ça part mal pour ma fonction... Merci pour votre aide.

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    C'est bien de créer ton plugin, mais ensuite, pour qu'il fonctionne, il faut l'appeler !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    (function ($) {
    	$.fn.chargementDynamique = function() {
    		console.log("Test Plugin - Chargement Dynamique");
    		this.bind("click", function(event) {
    			console.log("Clique sur bouton");
    			event.preventDefault();
    		}); 
    	};
    })(jQuery);
    $(".lienDynamique").chargementDynamique();
    Fonctionne correctement (enfin, pour peu que tu aies des liens avec cette classe bien sûr).
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 4
    Points : 7
    Points
    7
    Par défaut
    Bien sur que je l'appelle, dans mon index.

    D'où le console.log en fait, histoire de voir que ça passe bien dans ma fonction... et pourtant... le preventdefault ne veut pas.

    EDIT : Oh ben zut, je viens de trouver à l'instant. Le bouton sur lequel je faisais le test était chargé via un "load", apparemment ça ne fonctionne pas même si je met bien dans le documentready... Du coup je viens de lancer la fonction en faisant un contrôle sur la fonction "load" pour savoir si mon bouton été bien chargé, et là ça fonctionne... c'était idiot.

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Et pourtant...

    https://jsfiddle.net/s1vpubLc/

    A moins bien sûr que ta classe "lienDynamique" corresponde à des éléments qui sont ajoutés après que tu aies appelé ton plugin...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Création d'un plugin eclipse avec maven
    Par afkkir dans le forum Maven
    Réponses: 7
    Dernier message: 10/07/2008, 14h34
  2. création d'un plugin eclipse
    Par clarkz dans le forum Eclipse Java
    Réponses: 0
    Dernier message: 18/04/2008, 14h56
  3. Création d'un plugin pour Eclipse
    Par Naeco dans le forum Eclipse Platform
    Réponses: 6
    Dernier message: 16/01/2007, 17h00
  4. création d'un plugin eclipse simple?
    Par castrogne dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 13/07/2006, 10h40
  5. Création d'un plugin pour navigateur web
    Par veuda dans le forum Réseau/Web
    Réponses: 7
    Dernier message: 07/11/2005, 15h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo