Reputation: 327
I need to know how long a mouse/key was pressed before it was released so the response would be dependent on the key/mouse press.
For example, I have tried this but for some reason it doesn't seem to work.
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);
});
Upvotes: 1
Views: 114
Reputation: 392
First you should use
document.addEventListenter("mousedown", function() {...});
and
document.addEventListener("mouseup", function() {...}); '
Secondly, your time.getTime
will get the time of the time
variable.
You should do this:
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);
});
Here is a better 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);
});
There is no use of the mouseup variable if you just want to calculate the mousehold variable.
Upvotes: 2