为什么鼠标移动时无法更新mousemove事件中的event.pageY?

时间:2012-04-25 09:53:23

标签: javascript javascript-events mousemove

我想在触发mousemove事件时使用当前的event.pageY值。但似乎我的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计算的值。那么当鼠标移动到内部“if”时,如何获取更新的event.pageY值?

1 个答案:

答案 0 :(得分:1)

event.pageY不会自动更新,它是触发事件时生成的事件对象的属性,因此它在事件处理程序中是常量。