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 :

Onclick avec une fonction utilisant $(this)


Sujet :

jQuery

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 114
    Points : 61
    Points
    61
    Par défaut Onclick avec une fonction utilisant $(this)
    N'ayant pas trouvé de réponse à mes question je les postes ici.

    Avec l'attribut onClick sur un lien, peut-on utiliser la donnée $(this) dans la fonction appelée ?

    J'illustre :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <div class='div'>
    	<div class='submit'>
    		<a href='#' class="cancel" onClick='cancel(); return false;'>Cancel</a>
    	</div>
    </div>

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function cancelChapter()
    {
    	alert( $(this).parents() );
    	$(this).parents().html("");
    }

    Mon code javascript est un peu bidon, c'est normal je voulais faire des test, ce que j'aimerai, c'est pouvoir me positionner sur le parent du parent du lien sur lequel pointe le onClick, donc, sur le div de classe div.

    Merci

  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 220
    Points
    91 220
    Billets dans le blog
    20
    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
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Salut,

    oui tu peux, mais si tu utilise JQuery autant tout faire de manière non obstrusive.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <div class='div'>
    	<div class='submit'>
    		<a href='#' class="cancel">Cancel</a>
    	</div>
    </div>
    et en JS

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $('a.cancel').click(function(event) {
      event.preventDefault();
      $(this).....
    });
    Autant utiliser le href avec un url à appeler en cas de javascript désactivé
    au lien de '#'
    Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 114
    Points : 61
    Points
    61
    Par défaut
    Citation Envoyé par marcha Voir le message
    Salut,

    oui tu peux, mais si tu utilise JQuery autant tout faire de manière non obstrusive.
    J'ai mis le onClick pour l'exemple

    Donc avec comme html :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <div class='div'>
    	<div class='submit'>
    		<a href='#' class="cancel">Cancel</a>
    	</div>
    </div>
    et comme JS :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $('a.cancel').click(function() {
    	$(this).parent('.div').animate( { height:"0px"}, 200 );
    });
    Mon div devrai être caché (enfin ça reste un exemple l'animate) donc ?

    Mais ce n'est pas le cas :/

  5. #5
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    utilise parents et non parent

    d'autre part le 'px' est de trop (EDIT: mais il gène pas), et si tu veux voir quelque chose,
    met une couleur de fond à ton div, parce que si le div.div à un height: 0px
    tu verra quand même son contenu (sauf si tu met un overflow: hidden)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $('a.cancel').click(function(event) {
    	$(this).parents('.div').animate( { height: 0 }, 200 );
    });
    Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 114
    Points : 61
    Points
    61
    Par défaut
    Ah oui ça marchais, ça venait d'autre part, merci à vous deux.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 03/03/2010, 19h05
  2. Réponses: 4
    Dernier message: 22/11/2009, 23h35
  3. Réponses: 0
    Dernier message: 22/07/2008, 17h47
  4. Problème avec une fonction en utilisant Zsh
    Par Olivier Regnier dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 18/06/2007, 08h19
  5. Problème avec une Fonction utilisant WMI
    Par Eric_78180 dans le forum VBScript
    Réponses: 3
    Dernier message: 29/12/2006, 14h00

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