检测鼠标方向 - JavaScript

CRQ*_*CRQ 5 javascript mouse mouseevent detection

var direction = ""
var mousemovemethod = function (e) {
    var oldx = 0;
    if (e.movementX < oldx) {
        direction = "left"
    } else if (e.movementX > oldx) {
        direction = "right"
    }
    oldx = e.pageX;
}
Run Code Online (Sandbox Code Playgroud)

这就是我检测鼠标方向的方法,它工作得很好,但它只适用于Chrome,我如何使其与其他浏览器(Firefox,Opera和至少ie8 +或ie9 +)兼容.请不要jQuery.

ade*_*neo 8

坚持pageXoldx在更高的范围内定义,否则它始终为零

var direction = "",
    oldx = 0,
    mousemovemethod = function (e) {

        if (e.pageX < oldx) {
            direction = "left"
        } else if (e.pageX > oldx) {
            direction = "right"
        }

        oldx = e.pageX;

}
Run Code Online (Sandbox Code Playgroud)

小提琴


小智 7

鼠标移动 - 向左、向右、向上、向下 - javascript FIDDLE

var direction = "";
    var oldx = 0;
    var oldy = 0;
    mousemovemethod = function (e) {
    
 if (e.pageX > oldx && e.pageY == oldy) {
                direction="East";
            }
            else if (e.pageX == oldx && e.pageY > oldy) {
                direction="South";
            }
            else if (e.pageX == oldx && e.pageY < oldy) {
                direction="North";
            }
            else if (e.pageX < oldx && e.pageY == oldy) {
                direction="West";
            }
        
        document.body.innerHTML = direction;
        
        oldx = e.pageX;
         oldy = e.pageY;
        
}

document.addEventListener('mousemove', mousemovemethod);
Run Code Online (Sandbox Code Playgroud)