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 and drop Internet Explorer


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 89
    Points : 78
    Points
    78
    Par défaut drag and drop Internet Explorer
    Bonjour à tous, voilà je suis en train de créer un script afin de réaliser une scrollbar mais je me retrouve confronté à un problème que j'ai résolu sous Firefox mais je n'arrive pas à le résoudre sur Internet Explorer. Pour le moment, il s'agit d'une image que je fais bouger en X et en Y. J'ai réussi à désactiver le drag and drop navigateur sur Firefox grace à addEventListener et event.preventDefault() mais sur Internet Explorer il s'agit des méthodes attachEvent et event.returnValue=false. Je pense que je n'utilise pas correctement ces méthodes. Pouvez vous m'aidez à résoudre se problème car la je suis un peu bloqué malgrès mes diverses recherche sur google svp ? Merci d'avance.


    voici mon code :

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    <html>
    	<head>
    		<title>test</title>
    		<style type="text/css">
    			#logo
    			{
    				position:absolute;
    			}
    		</style>
     
     
    		<script type="text/javascript">
    			var scrollbar=false;
     
    			function init()
    			{
    				if(!navigator.appName=="Microsoft Internet Explorer")
    					document.addEventListener("mousedown",dep_image,false);
    				else
    					document.getElementById("logo").attachEvent("onMouseDown", dep_image);
    			}
     
     
    			function dep_image(event)
    			{
     
     
     
    				/*permet de supprimmer le drag and drop du navigateur*/
    					if(event.preventDefault)
    					{
    							event.preventDefault();
    					}
     
    					event.returnValue = false;
     
    					/*Lorsque l'évènement survient on fait appel à la fonction position*/
    					document.onmousemove=position;
    			}
     
    			function position(ev)
    			{				
    				if(scrollbar==true)
    				{
    					var coordX;
    					var coordY;
     
     
    					if(navigator.appName=="Microsoft Internet Explorer")
    					{
    						/*on récupère la position en X et en Y de la souris*/
    						coordX=window.event.clientX;
    						coordY=window.event.clientY;
     
    						document.getElementById("position_souris").innerHTML="X="+coordX+"Y="+coordY;
    					}
    					else
    					{
    						/*on récupère la position en X et en Y de la souris*/
    						coordX=ev.clientX;
    						coordY=ev.clientY;
    						document.getElementById("position_souris").innerHTML="X="+coordX+"Y="+coordY;
    					}
     
    					/*comme le curseur de la souris accroche au coin en haut à gauche, je retire la moitié
    					de la taille de l'image pour placer le curseur au centre*/
    					coordY=coordY-64;
    					coordX=coordX-64;
     
    					/*on affecte ensuite l'émargement haut et gauche de l'image à la position de la souris*/
    					document.getElementById("logo").style.marginTop=coordY+"px";
    					document.getElementById("logo").style.marginLeft=coordX+"px";
     
    				}
    			}
     
    			function stop_dep()
    			{
    				document.onmousemove=null;
    			}
     
    			function activer_scrollbar()
    			{
    				/*permet de s'assurer que l'utilisateur a bien le clic enfoncé sur la barre de défilement*/
    				scrollbar=true;
    			}
     
    			function desactiver_scrollbar()
    			{
    				/*lorsque l'utilisateur a relaché le clic on désactive le défilement*/
    				scrollbar=false;
    			}
     
     
    		</script>
    	</head>
    	<body onLoad="init();" onMouseDown="dep_image(event);" onMouseUp="stop_dep();">
    		<img id="logo" src="logo-ubuntu.png" onMouseDown="activer_scrollbar();" onMouseUp="desactiver_scrollbar();" />
    		<div id="position_souris"></div>
     
     
     
    	</body>
    </html>

  2. #2
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    même si tu es passé par la propriété returnValue de l'event, as-tu essayé un simple return false; à la fin de ton gestionnaire d'événement ?

    ...pour les linguistes et les curieux >>> générateur de phrases aléatoires

    __________________

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 89
    Points : 78
    Points
    78
    Par défaut
    c'est bon j'ai enfin trouver en fait il fallait placer le returnValue dans la fonction position(ev) et j'ai rajouté au dessus ev=ev||window.event.

  4. #4
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2009
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 009
    Points : 1 738
    Points
    1 738
    Par défaut
    Bonjour,

    Pourrais-tu remettre ton code complet avec la solution ? J'ai essayé de faire ce que t'as dit mais sans succès...

    Merci d'avance.

    Edit : Bon en fait j'ai fait très simple : aucun returnValue (juste le code avec les preventDefault() pour FF), et j'ai rajouté ondragstart="return false" aux images et onselectstart="return false" au bloc contenant l'image.

    Code Javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function init() {
        if (document.addEventListener) {
            document.addEventListener("mousedown", imageBox, false);
        }
    }
    Code Javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function imageBox(oevent) {
        if (oevent.preventDefault) {
            oevent.preventDefault();
        }
        // CODE //
    }
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <td id="TDimg" ... onselectstart="return false">
        <img src="..." ... onload="javascript:init()" ondragstart="return false" />
    </td>

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

Discussions similaires

  1. Drag and drop "de l'extérieur"
    Par Invité dans le forum C++Builder
    Réponses: 12
    Dernier message: 31/03/2020, 10h10
  2. [WD15] Drag and Drop, Explorer vers Table hierarchique
    Par Jeje9 dans le forum WinDev
    Réponses: 4
    Dernier message: 26/06/2012, 12h16
  3. [WD14] Drag and drop de ma liste vers l'explorer
    Par law56100 dans le forum WinDev
    Réponses: 0
    Dernier message: 13/10/2009, 09h53
  4. [JSP][DRAG AND DROP]
    Par hamed dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 23/01/2004, 17h36
  5. drag and drop
    Par jujuesteban dans le forum Composants VCL
    Réponses: 5
    Dernier message: 20/06/2003, 09h23

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