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

Bibliothèques & Frameworks Discussion :

Empecher l'éxecution d'un onClick après drag and drop


Sujet :

Bibliothèques & Frameworks

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Empecher l'éxecution d'un onClick après drag and drop
    Bonjour
    Tout est dans le titre, voici en plus clair :

    j'utilise le drag and drop classique de scriptaculous.
    Mais j'ai également un onClick sur le div que je déplace.

    Or, en toute logique, dès la fin du drap and drop (lorsque je relache le bouton), l'action onClick est déclenchée.

    Je souhaiterais qu'en cas de drag and drop (et non clic simple), l'action onClick ne soit pas déclenché.
    Je ne vois pas comment gérer cela.

    Exemple de code de création d'un objet "draggable" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <div id="testDiv" onClick="alert('ok');">hop</div>
    <script type="text/javascript">
    new Draggable("testDrag", {revert: true});
    </script>
    Merci de votre aide.

  2. #2
    Inscrit
    Profil pro
    aaaaa
    Inscrit en
    Novembre 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : aaaaa

    Informations forums :
    Inscription : Novembre 2006
    Messages : 178
    Points : 70
    Points
    70
    Par défaut
    Bonjour,

    Désolé de répondre tard, mais je me dis que mieux vaut tard que jamais.

    C'est un peu de la bidouille pour empêcher que le onclick soit exécuté.
    Au passage, tu t'étais trompé dans la déclaration du Draggable : l'identifiant de l'élément à dragger est "testDiv" et non "testDrag".

    En reprenant ton exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    <div id="testDiv" onClick="if (!clic_autorise) return;alert('ok');">hop</div>
    <script type="text/javascript">
    var clic_autorise=true; // Autoriser le clic par défaut
    new Draggable("testDiv", {revert: true,
    onStart:function(ev) {
       // Empêcher le clic tant qu'on dragge l'élément
       clic_autorise=false;
    },
    onEnd:function(ev) {
       setTimeout(function() {
         clic_autorise=true; 
       },500); // On attend un peu avant de rétablir le clic
    }
    });
    </script>

Discussions similaires

  1. Réponses: 10
    Dernier message: 13/09/2011, 00h31
  2. Réponses: 0
    Dernier message: 16/05/2010, 20h42
  3. [Dojo] Evénement après drag and drop
    Par laminfodev dans le forum Bibliothèques & Frameworks
    Réponses: 4
    Dernier message: 30/09/2009, 09h50
  4. Empecher le drag and drop d'une image
    Par gwen_oc dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 23/08/2007, 10h55
  5. Sauvegarde des positions après un Drag and Drop
    Par enok37 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 06/07/2007, 10h26

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