2017-08-12 4 views
1

J'ai besoin de savoir depuis combien de temps une souris/touche a été enfoncée avant d'être relâchée afin que la réponse dépende de la touche/de la souris. Par exemple, j'ai essayé ceci mais pour une raison quelconque cela ne semble pas fonctionner.sensibilité de la clé dans le canevas html

var time = new Date(); 
var mousedown, mouseup, mousehold; 

document.addEventListener('onmousedown', function(){ 
    mousedown = time.getTime(); //gets time when mouse was pressed 
}); 

document.addEventListener('onmouseup', function(){ 
    mouseup = time.getTime(); //time when mouse was released 
    mousehold = mouseup - mousedown; //time difference 
    console.log(mousehold); 
}); 
+0

Merci (Commentaire supprimé) – CodingNinja

Répondre

2

D'abord, vous devez utiliser

document.addEventListenter("mousedown", function() {...}); 

et

document.addEventListener("mouseup", function() {...}); ' 

Deuxièmement, votre time.getTime va obtenir le temps de la variable time. Vous devriez faire ceci:

var mousedown, mouseup, mousehold; 
 

 
document.addEventListener('mousedown', function(){ 
 
    mousedown = Date.now(); //gets time when mouse was pressed 
 
}); 
 

 
document.addEventListener('mouseup', function(){ 
 
    mouseup = Date.now(); //time when mouse was released 
 
    mousehold = mouseup - mousedown; //time difference 
 
    console.log(mousehold); 
 
});

Voici une meilleure version:

var mouseup, mousehold; 
 

 
document.addEventListener('mousedown', function(){ 
 
    mousedown = Date.now(); //gets time when mouse was pressed 
 
}); 
 

 
document.addEventListener('mouseup', function(){ 
 
    mousehold = Date.now()- mousedown; //time difference 
 
    console.log(mousehold); 
 
});

Il n'y a pas d'utilisation de la variable mouseup si vous voulez juste pour calculer la variable mousehold.

+0

Pour la 2ème version, vouliez-vous dire déclarer mousedown au lieu de mouseup? Ou c'était prévu? –