Olá a todos!
Tenho a seguinte situação: enquanto o usuário estiver com o mouse clicado, quero que uma função seja executada.
O que fiz: no onmousedown, chamei a função que quero que seja executada. No final dela, eu uso um temporizador para que o resultado possa ser notado pelo usuário.
Para que ela pare, no onmouseup eu simplesmente chamo a função clearTimeout…
O seguinte código funcionava:
HTML:
<div style="position:absolute; top: 500px; left: 500 px; background-color: rgb(220,245,245); z-index: 3;" onmouseover="this.style.cursor = 'pointer';" onmousedown="move();" onmouseup="clearTimeout(timer);">Teste</div>
JS:
var timer;
function move(){
selecionaFace();
}
function selecionaFace(){
//minha lógica aqui!
timer = setTimeout("selecionaFace()",10);
}
Contudo, alterei o código e o temporizador não executa a função! Aliás, nem espera o tempo determinado:
HTML:
<div style="position:absolute; top: 500px; left: 500 px; background-color: rgb(220,245,245); z-index: 3;" onmouseover="this.style.cursor = 'pointer';" onmousedown="moveFirstPoint('counter-clockwise');" onmouseup="clearTimeout(timer);">Teste</div>
JS:
function moveFirstPoint(direction){
setDirectionFirstPoint(direction);
drawPoints();
var target = "moveFirstPoint(" + direction + ")";
timer = setTimeout(target,2000);
}
Alguém já passou por algo semelhante?