Javascript e.pageX 未定义

Javascript e.pageX undefined

我开始通过 Youtube 学习 Javascript,当我写下这段代码时,它说 pageX 未定义。我真的需要帮助。我正在开发一种功能,可以捕获鼠标在屏幕上的位置。并且请不要要求 HTML 因为它只是其中的一个表格,没有别的。

Javascript :

 var mie = (navigator.appName == "Microsoft Internet Explorer")?true:false;

if (!mie) {
    document.captureEvents(Event.MOUSEMOVE);
    //document.captureEvents(Event.MOUSEDOWN);
}

document.onmousemove = pozicijaMisa();
//document.onmousedown = misKliknut();
var misKliknut = 0;
var tipkaStisnuta = 0;
var misX = 0;
var misY = 0;

function pozicijaMisa(e) {
    if (!mie) {
        misX = e.pageX;
        misY = e.pageY;
    } else {
        misX  =event.clientX + document.body.scrollLeft;
        misY  =event.clientY + document.body.scrollTop;
    }
    document.forma.misx.value = misX;
    document.forma.misy.value = misY;
    return true;
}

好吧,我会找一个不同的教程,因为他们教的是过时的做法

您的问题是:

document.onmousemove = pozicijaMisa();

应该是一个赋值,而不是调用它并将它 returns 分配给事件处理程序。

document.onmousemove = pozicijaMisa;

您正在通过 navigator 进行客户端检测,这很脆弱。

在 Javascript 中进行特征检测而不是客户端检测会更好地为您服务。不要查看您是否使用 IE,而是查看 pageX 是否存在(特别是因为较新版本的 IE 不使用 pageX)。

document.addEventListener('mousemove', mousePosition);
function mousePosition(e) {
  var x = e['pageX'] || e.clientX;
  var y = e['pageY'] || e.clientY;
}