Почему event.pageY в событии mousemove не может обновляться при движении мыши?

Я хочу использовать текущее значение event.pageY при запуске события mousemove. Но кажется, что мое значение event.pageY не обновляется. Вот часть моего кода (он уже есть в функции обратного вызова события mousemove):

 var deltaX = self.mouse.startX - event.pageX,
     deltaY = self.mouse.startY - event.pageY;
 if (self.mouse.endTime - self.mouse.startTime < 300){                  
                // Drag down
                console.log(event.pageY); // 1
                if(Math.abs(deltaX) < Math.abs(deltaY) && deltaY < 0){
                    console.log(event.pageY);  // 2
             ....

Первый console.log(event.pageY) будет обновляться автоматически при движении мыши, а второй не обновляется, кажется, что он сохраняет значение, рассчитанное в deltaY. Итак, как я могу получить обновленное значение event.pageY при перемещении мыши во внутреннем if?


person chaonextdoor    schedule 25.04.2012    source источник
comment
Если вы не пропустили какой-то код, я не понимаю, почему ваши вызовы console.log выдают разные значения. Вы уверены, что вас не смущает условное выполнение, иногда выдающее одно значение, а иногда два?   -  person Daniel Yankowsky    schedule 26.07.2012


Ответы (1)


event.pageY не обновляется автоматически, это свойство объекта события, которое генерируется при запуске события, поэтому оно постоянно внутри обработчика событий.

person GillesC    schedule 25.04.2012
comment
Я сказал, что это часть моего кода, что означает, что он уже находится в функции обратного вызова события mousemove. Вот почему я сказал, что первый console.log(event.pageY) будет обновляться автоматически, а второй — нет. - person chaonextdoor; 25.04.2012