Согласно этому вопросу SO вы не можете определить текущее состояние клавиши вверх или вниз, а только отслеживать соответствующие события.
Так что тебе нужно что-то вроде этого, я думаю
var mouseIsDown = false;
$('#button').mousedown(function(){
mouseIsDown = true;
incrementValue;
});
$('#button').mouseup(function(){
mouseIsDown = false;
});
Тогда эта функция будет выглядеть так:
function incrementValue() {
whatever++;
if(mouseIsDown){
setTimeout("incrementValue()", 20);
}
}
При нажатии мыши переменная mouseIsDown
устанавливается в значение true и запускает цикл, который продолжает увеличиваться (с любым интервалом, в течение которого вы устанавливаете параметр времени в setTimeout()
), пока mouseIsDown
не станет ложным, что происходит под мышкой.