Fahem Moz
Fahem Moz

Reputation: 327

key sensitivity in html canvas

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

Answers (1)

fresh mouse
fresh mouse

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

Related Questions