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

JavaScript Discussion :

Drag n drop sur un player flash


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2008
    Messages : 60
    Par défaut Drag n drop sur un player flash
    bonjour,

    j'ai un problème bête, mais qui m'ennuie beaucoup
    j'ai un player flash qui permet de lire des morceaux
    je lui ai mis un effet de drag n drop récupéré ici : http://ppk.developpez.com/tutoriels/...sur-votre-site
    sous ff et ie, pas de problème, mais sous chrome, impossible d'utiliser les boutons du player, le dragndrop les désactive
    j'ai essayé de mettre le dnd sur un div qui contiendrait le player, mais ça revient au même même si je change le z-index de chacun
    jai essayé de desactiver le dnd au survol du player, et donc que ce soit un texte à côté contenu aussi dans le div qui fasse le dnd mais ça ne fonctionne pas non plus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var lecteur = document.getElementById('audio_player');
    		lecteur.onmouseover = dragDrop.releaseElement();
    ligne ajoutée à la fin de la fonction initElement

    je dois mal écrire qqch ou le mettre mal, mais je ne vois pas quoi
    qqn a une idée ?

    merci d'avance

    ps : merci de ne pas me répondre des trucs du genre "enlève le dnd" ça ne résoudra pas le problème et ce n'est pas constructif

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut
    Bonjour,
    Citation Envoyé par virgrennes
    je dois mal écrire qqch ou le mettre mal, mais je ne vois pas quoi
    qqn a une idée ?
    il y a au moins deux choses que tu écris mal c'est quelque chose et quelqu'un

    Concernant ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lecteur.onmouseover = dragDrop.releaseElement();
    ici tu affectes le résultat de la fonction à l'événement.

  3. #3
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2008
    Messages : 60
    Par défaut
    Bonjour,

    désolée pour la syntaxe, je suis allée trop vite.

    pour le code : j'ai du mal comprendre sa logique, j'ai dupliqué cette ligne (qui avait un onclick) car il me semblait qu'elle lancait la fonction releaseElement lorsque l'évènement se produisait (pour moi le onmouseover sur le player)

    de fait, pourriez-vous m'aider à lancer cette fonction correctement au bon endroit ?

    s'il vous plait

    merci

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut
    Lorsque l'on mets du javascript sur un événement d'une balise, on met le code qui doit être interprété.
    exemple :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <a id="A_EXEMPLE_1" href="#" onmouseover="alert(this.id)">Exemple 1</a><br>
    pour obtenir le même résultat, mais cette fois ci en initialisant cela dans la partie javascript il nous faut écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var obj = document.getElementById('A_EXEMPLE_2');
    obj.onmouseover = function(){alert(this.id)};
    ici on affecte la référence à un fonction anonyme qui exécute le code entre {}

    En absence de paramètres à la fonction on pourrait simplement mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    obj= document.getElementById('A_EXEMPLE_3');
    obj.onmouseover = fctSimple;
    mais en aucun cas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    obj.onmouseover = fctSimple();
    qui exécute la fonction et affecte le résultat à obj.onmouseover.

    L'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
    17
    18
    19
    20
    21
    22
    23
    24
    <!DOCTYPE html>
    <html lang="fr">
    <head>
    <meta charset="UTF-8">
    <style>
    </style>
    </head>
    <body>
    <a id="A_EXEMPLE_1" href="#" onmouseover="alert(this.id)">Exemple 1</a><br>
    <a id="A_EXEMPLE_2" href="#">Exemple 2</a><br>
    <a id="A_EXEMPLE_3" href="#">Exemple 3</a>
    <script>
    function fctSimple(){
      alert('Coucou de la fonction Simple');
    }
    var obj = document.getElementById('A_EXEMPLE_2');
    obj.onmouseover = function(){
        alert(this.id)
      };
    obj = document.getElementById('A_EXEMPLE_3');
    obj.onmouseover = fctSimple;
    </script>
    </body>
    </html>

  5. #5
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2008
    Messages : 60
    Par défaut
    Bonjour,

    merci, tout d'abord, cela me rassure, c'est bien ce que j'avais compris et testé avant de poser la question.

    Du coup, j'ai testé simplement cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    str += ' onmouseover="javascript:alert(\'ok\');releaseElement();"> </embed>';
    C'est dans le fichier js qui génère le embed du player.
    Le ok s'affiche bien mais il m'indique releasElement is not defined.

    J'ai mis l'appel de la librairie js du drag n drop avant celle qui génère le embed en partant du principe que le javascript lit dans l'ordre les fonctions et donc devrait avoit , mais ça ne change rien.

    J'ai fait un autre test, j'ai enfin trouvé où mettre le code pour appeler la fonction releaseElement dans le fichier js :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    		addEventSimple(document.getElementById('audio_player'),'mouseover',dragDrop.releaseElement);
    		addEventSimple(document.getElementById('audio_player'),'mousemove',dragDrop.releaseElement);
    		addEventSimple(document.getElementById('audio_player'),'mousedown',dragDrop.releaseElement);
    		addEventSimple(document.getElementById('audio_player'),'click',dragDrop.releaseElement);
    Et j'ai ajouté un alert dans cette fonction releaseElement en me disant, si j'empêche le dragndrop sur le player (je mets une poignée à côté), au survol je pourrais cliquer sur les boutons du player.
    Résultat : le alert fonctionne, le dragndrop est bien désactivé sur le player (c'est la poignée qui le déplace) mais les boutons du player ne sont toujours pas cliquables...

    Je deviens chèvre, alors j'ai une dernière option : j'empêche l'activation du dragndrop purement et simplement quand je détecte chrome, car le player est plus important, mais c'est dommage...

    Si vous avez une encore une idée de pourquoi il ne se désactive pas vraiment...

    PS : dans le doute, j'ai désactivé l'initialisation du dragndrop et le player fonctionne normalement, donc le player n'a pas de souci seul...

  6. #6
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    str += ' onmouseover="javascript:alert(\'ok\');releaseElement();"> </embed>';
    tu ne peut pas appeler releaseElement comme cela.

    Nota: inutile de mettre javascript: dans ton événement onmouseover, celui ci attend quoiqu'il arrive une action javascript.

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

Discussions similaires

  1. Drag and drop sur une PictureBox
    Par abdiouldbody dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 17/06/2009, 15h55
  2. drag and drop sur une listBox?
    Par Mickey.jet dans le forum Delphi
    Réponses: 3
    Dernier message: 30/09/2006, 10h27
  3. Drag and drop sur du text ?
    Par isa150183 dans le forum JSF
    Réponses: 2
    Dernier message: 05/07/2006, 06h28
  4. [FLASH 8] Drag'n'Drop sur Textfield ???
    Par Begood dans le forum Flash
    Réponses: 5
    Dernier message: 28/03/2006, 11h15
  5. Drag and drop sur un JTree
    Par tomca dans le forum Composants
    Réponses: 4
    Dernier message: 02/08/2005, 10h54

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