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 :

Probleme de onmousemove, onmousedown et onmouseup


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 8
    Points : 6
    Points
    6
    Par défaut Probleme de onmousemove, onmousedown et onmouseup
    Voila j'ai ce code qui est sence faire :
    -afficher une image (test.png)
    - qd j'appuie sur le bouton gauche de la souris et que je bouge cette derniere sur l'image il devrait incrementer un compteur i et m'afficher la valeur de ce compteur.

    Pour cela je detecte l'appui sur le bouton de la souris, je positionne alors la variable dg a down (seule condition pour qu'on incremente et affiche le compteur)
    Ensuite si je relache le bouton de la souris,je repasse a up et dans ce cas je n'incremente plus mon compteur.

    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
    <HTML>
    <HEAD>
    <script language="javascript">
     
    	var dg = "up";
    	var i = 0;
     
    	function test(texte)
    	{
    		if(dg == "down")
    		{
    			document.getElementById("test").innerHTML = i;
    			i++;
    		}
    	}
     
    	function test2(texte)
    	{
    		document.getElementById("test2").innerHTML = texte;
    	}
     
    	function changeDG(val)
    	{
    		dg = val;
    		test2(dg);
    	}
    </script>
    </HEAD>
     
    <BODY>
    <div width="200" height="100" onmousedown="changeDG('down')"  onmouseup="changeDG('up')" onmouseover="test()">
    <span id="test"></span> <span id="test2"></span>
    <img src="./test.png">
    </div>
    </BODY>
    </HTML>
    resultat ca marche pas bien du tout ...
    - il detecte correctement le mousedown
    - qd je suis en mousedown et que je me deplace, il me met le curseur qui signifie qu'il n'y a rien a deplacer et n'incremente pas mon compteur.
    - qd je relache le bouton il ne passe pas en up mais et commence a incrementer mon compteur.
    - pour l'arreter il faut que je clique.

    Quelqu'un a une idee pour faire fonctionner correctement ce genre de script parceque j'en ai besoin pour faire une "sorte" de script dessin qui me permettrait de tracer des traits en laissant le bouton de la souris enfonce.

    Merci.

  2. #2
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 650
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 650
    Points : 11 142
    Points
    11 142
    Par défaut
    bonjour,

    - il detecte correctement le mousedown
    - qd je suis en mousedown et que je me deplace, il me met le curseur qui signifie qu'il n'y a rien a deplacer et n'incremente pas mon compteur.
    - qd je relache le bouton il ne passe pas en up mais et commence a incrementer mon compteur.
    - pour l'arreter il faut que je clique.
    ce qui se passe est normal. Ton navigateur croit que tu fais un copier-coller de ton image vers un autre élément de ta page. (la forme du curseur est celle d'un sens interdit). Il faut donc désactiver l'événement copier-coller :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <BODY onmouseup="changeDG('up')">
    <div width="200" height="100" ondrag="return false;" onmousedown="changeDG('down')"  onmouseup="changeDG('up')" onmouseover="test()">
    <span id="test">&nbsp;</span> <span id="test2">&nbsp;</span><br>
    <img src="clair10.jpg">
    </div>
    </BODY>
    j'ai rajouté ondrag="return false;" et l'événement onmouseup dans le body pour autoriser le laché du bouton en dehors de l'image. Néanmoins, ce code ne fonctionne que sous IE (sous Firefox je n'ai rien pu faire).

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    merci, je vais deja teste ta solution avec IE ... si quelqu'un a une idée pour resoudre le probleme sous firefox ca m'inderait bien

Discussions similaires

  1. Probleme avec onMouseMove
    Par billout31 dans le forum ActionScript 1 & ActionScript 2
    Réponses: 0
    Dernier message: 18/11/2010, 17h49
  2. onmousedown vs onmouseup
    Par michael rossi dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 01/04/2008, 16h01
  3. onmousedown, onmousemove et onmouseup
    Par Betelgeuse dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 05/12/2007, 22h37
  4. [FLASH 8] Probleme onMouseDown sur occurence
    Par luta dans le forum Flash
    Réponses: 1
    Dernier message: 20/09/2006, 00h21
  5. FireFox : onmousedown, onmouseup
    Par Auteur dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 16/01/2006, 11h56

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