Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3027 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Conflit entre simple clic et double clic

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Conflit entre simple clic et double clic

n°1250809
Profil sup​primé
Posté le 22-11-2005 à 16:03:53  answer
 

Salut.
Je me retourne la tête depuis la fin de matinée, impossible de trouver une solution à ce problème.
En fait, je voudrais réaliser, en javascript, une action sur un simple clic (lancer une fonction chg(id)), et une autre action (uen fonction plus_moins(...)) sur le double clic.
Comme je l'avais prévu dès le début, lors du double clic, il fait également l'action du simple clic ...
Alors je me suis dis qu'on pouvait peut être jouer avec le timing sur un onmouseup, mais ça ne va pas non plus ...
Voici le code actuellement :

Code :
  1. function my_dbl_click(id)
  2. {
  3. if (!this.time)
  4. {
  5.  this.time = new Date();
  6.  return;
  7. }
  8. var tps = (((new Date()) - this.time)/1000)
  9. if (tps <= 0.3)
  10. {
  11.  plusmoins(document.getElementById('parametre_'+id),document.getElementById('parametre_plus_'+id),document.getElementById('parametre_moins_'+id), id);
  12. }
  13. else
  14. {
  15.  chg('modif_'+id);
  16. }
  17. this.time = null;
  18. }
  19. <a href="#" onmouseup="my_dbl_click(<?echo $niv1_navigation_id?> );";>
  20. <? echo $niv1_navigation_titre; ?>
  21. </a>


Ca ne fonctionne pas non plus, il ne lance la fonction chg que s'il y a deux clic espacés de plus de 300 ms ...
Je voudrais que ce soit sur un seul clic !
 
Quelqu'un aurait-il une idée ?


Message édité par Profil supprimé le 22-11-2005 à 16:04:42
mood
Publicité
Posté le 22-11-2005 à 16:03:53  profilanswer
 

n°1250888
Profil sup​primé
Posté le 22-11-2005 à 17:18:31  answer
 

up ...  :bounce:

n°1251248
Profil sup​primé
Posté le 23-11-2005 à 09:37:15  answer
 

up ?  :bounce:

n°1251459
Profil sup​primé
Posté le 23-11-2005 à 13:38:59  answer
 

please  :cry:

n°1251510
anapajari
s/travail/glanding on hfr/gs;
Posté le 23-11-2005 à 14:22:56  profilanswer
 

bon en partant de ton code je t'ai fait ça:

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2.   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
  4. <head>
  5.   <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
  6.   <meta name="author" content="Me" />
  7.   <title>Test</title>
  8.   <script type="text/javascript">
  9.    var currentObj;
  10.    function my_dbl_click(obj) {
  11.      currentObj = obj;
  12.      if (!obj.time) {
  13.        obj.previousTime = null;
  14.        obj.waiting = false;
  15.      } else {
  16.        obj.previousTime = obj.time;
  17.      }
  18.      obj.time = new Date();
  19.      if (! obj.waiting){
  20.        obj.waiting = true;
  21.        setTimeout("test()",300);
  22.      }
  23.    }
  24.    function test(){
  25.      if ( currentObj.previousTime != null) {
  26.        document.getElementById('disp').innerHTML = 'double';
  27.        currentObj.previousTime = null;
  28.        currentObj.time = null;
  29.      } else {
  30.        document.getElementById('disp').innerHTML = 'simple';
  31.        currentObj.time = null;
  32.      }
  33.      obj.waiting = false;
  34.    }
  35.   </script>
  36. </head>
  37. <body>
  38.      <a href="#" onmouseup="my_dbl_click(this);"> test </a>
  39.      <div id="disp"></div>
  40. </body>
  41. </html>


 
Alors il doit y avoir 30 fois plus simple, mieux ou ce que tu voudras mais j'ai pas trouvé :o
La c'est un peu dégueu vu que tu es obligé d'avoir 1 variable globale (currentObj)...
Enfin bon ça a l'air de marcher ...

n°1255095
Profil sup​primé
Posté le 29-11-2005 à 09:55:09  answer
 

Merci beaucoup de ton aide, et désolé de ne pas avoir répondu plus tôt ...
ça fonctionne à peu près, je suis en train de l'adapter à ce que je veux faire.
@+

n°1255146
FlorentG
Posté le 29-11-2005 à 10:48:26  profilanswer
 

C'est pour faire quoi ?
 
Sauf cas particulier, utiliser un double click sur une application web est une très mauvaise idée :( 99.9% des utilisateurs sont habitués au "simple click partout", alors introduire un double-click peut être suicidaire.
 
En plus, y'a ceux qui ont réglé leur double-click ultra rapide, ou ultra lent suivant leur aptitude à cliquer, alors imposer un délai de 300ms peut être suicidaire pour une partie des utilisateurs :(


Message édité par FlorentG le 29-11-2005 à 10:48:49
n°1255407
Profil sup​primé
Posté le 29-11-2005 à 16:26:33  answer
 

Mon cas est un cas particulier ... je bannis les pop-ups et j'ai besoin d'une multitude de traitements sur un item affiché, j'utilise donc à la fois le simple clic et le double ...
Ce sera précisé dans la doc remise aux utilisateurs, à eux de se démerder avec leur double-click ultra rapide .... sachant qu'ils seront utilisateurs basiques non informaticiens, ça m'étonnerait fort qu'ils soient seulement à même de se douter qu'on peut régler la vitesse du double-click ...  ;)  


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Conflit entre simple clic et double clic

 

Sujets relatifs
Le double espace ne s'affiche que en simple espace[CSS] - Probleme double marge IE : position:absolute [résolu]
simple requete insert... ????recupere ou mettre a jour un tableau de double dans une classe
Langage de prog. simple type BASIC pour RS232, vos idées SVPDouble lecture avec fscanf
clic souris à travers une form ... ?[Question simple HTML] plus d'espace entre les images
[javamail]envoi de mail simple 
Plus de sujets relatifs à : Conflit entre simple clic et double clic


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)