Javascript e.pageX undefined

Javascript e.pageX undefined

本文关键字:undefined pageX Javascript      更新时间:2023-09-26

我开始通过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;
}

您正在通过 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;
}
好吧,

我会找到一个不同的教程,因为他们正在教授过时的做法

您的问题是:

document.onmousemove = pozicijaMisa();

应该是一个赋值,而不是调用它并分配它返回给事件处理程序的内容。

document.onmousemove = pozicijaMisa;