Javascript中的事件对象,查找信息时出错

Event object in Javascript, trouble finding information

本文关键字:查找 信息 出错 对象 事件 Javascript      更新时间:2023-09-26

我相信javascript中有一个名为event的对象,我在一些不是我写的代码中看到了它,行看起来像这样:

event.x + document.body.scrollLeft;

我很难找到更多的信息,而且,在Firefox中出现了未定义的对象。它在所有其他浏览器中都能正常工作。有人能向我提供更多信息吗?具体来说,我如何在Firefox中访问此对象?

W3c官方公告

clientXclientY是您要查找的官方事件属性处理程序。尽管您可能也想考虑screenXscreenY


事件(API)

事件

创建、触发事件

事件处理程序

方位和运动数据


窗口事件X和Y属性

解释

event.xevent.y,它们是什么?

首先,xy属性在所有事件中都是而不是。它与触发的事件有关。

这里有一个例子:

document.body.onclick = function(){console.log(window.event.x)};

如果您在浏览器控制台中粘贴并执行该代码,它将在每次click时记录光标的x位置。


尽管看一下这个例子:

document.body.onkeyup = function(){console.log(window.event.x)};

每次从键盘释放键时,控制台都会记录undefined,因为onkeyup()事件不包含xy属性的任何值。

event(或仅e)是事件处理程序函数的常用第一个参数名称。

在除IE之外的所有现代浏览器中,注册为事件处理程序的函数都将传递一个event对象作为其包含事件信息的第一个参数。

在IE中,类似的信息在全局event对象(window.event)中可用。

由于这些浏览器差异,您经常会看到事件处理程序样板代码,例如:

var clicked = function (e) {
  e = e || window.event;  // sets e to window.event if no parameter was passed
};