javascript - onmousemove,传递给事件的内容 - javascript

标签 javascript

我已经对 javascript 中的事件进行了一些研究,但仍然无法弄清楚 onmousemove 中传递给事件的内容是什么。

摘自:W3schools

onmousemove="show_coords(事件)"

这个事件参数是什么?我真的需要它吗?或者我可以以某种方式让它在没有事件参数的情况下工作,如下所示:

onmousemove="show_coords()"

我尝试了一切使其在没有事件参数的情况下工作,但我认为我在这里遗漏了一些东西。

编辑:

这就是我正在玩的东西。

是的 - 它工作正常,但我只是不明白为什么我需要事件以及使用鼠标坐标时它是什么

这个>>> onmousemove="show_coords(event)"

对此 >>> onmousemove="show_coords()" 并使其正常工作

为什么(.clientX/Y, .pageX/Y, .screenX/Y)需要该事件?有没有办法在没有它的情况下访问它们。

我尝试更改“事件”参数每个事件词“这个”

就像这样>>> onmousemove="show_coords(this)"

但这不起作用。为什么?

    <!DOCTYPE html>
<html onmousemove="show_coords(event)" style="border-style: solid">
<head>
</head>

<body>


<p style="position : fixed; color :red; top: 50px" id="demo"></p>

<p style="position : fixed; color :blue ;top: 10px" id="demo2"></p>

<p style="position : fixed; top: 31px" id="demo3"></p>

<div style="height: 1000px"></div>
<script>
    function show_coords(event)
    {
        var x=event.clientX;
        var y=event.clientY;
        var xa=event.pageX;
        var ya=event.pageY;
        var xb=event.screenX;
        var yb=event.screenY;

      document.getElementById('demo').innerHTML = "Client: x = " + x + " y = " + y;

      document.getElementById('demo2').innerHTML = "Page: xa = " + xa + " ya = " + ya;

      document.getElementById('demo3').innerHTML = "Screen: xb = " + xb + " yb = " + yb;
    }
</script>
</body>
</html>

最佳答案

what is this event argument

Event objects是包含有关事件的信息(例如确切地使用哪个元素触发该事件)和操作该事件的方法(例如阻止其在 DOM 中冒泡)的对象。

Or I could somehow make it work without the event argument like this

不需要对传递到事件处理函数的事件对象执行任何操作。

如果您的 show_coords 函数依赖于它(重新编辑:确实如此),那么您需要传递它或找到其他方法来执行 show_coords 函数的任何操作用它来做。

<小时/>

I tried chaging the "event" argument and every event word to "this" but that doesn't work. Why?

因为事件和事件处理程序所绑定(bind)的元素是完全不同的东西。这就是“约翰的威尔士之旅”和“约翰的汽车”之间的区别。

关于javascript - onmousemove,传递给事件的内容 - javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44264688/

相关文章:

javascript - 使用 Websocket 的 D3 的 OnClick() 处理程序

javascript - 如何创建两个日历并使用 JavaScript 将它们链接在一起

javascript - 字符串枚举键索引对象的 typescript 定义?

javascript - 无法读取未定义的属性 'kind'

javascript - AngularJS 选择 |从 JSON 中选择一个 id 后显示该 id 的其余信息

javascript - 比较客户端和服务器系统时间的差异(Javascript 和 C#)

JavaScript:给定 HTML 字符串中的偏移量和子字符串长度,父节点是什么?

javascript - 改变背景颜色 JavaScript

javascript - document.write javascript 函数不起作用

javascript - 使用沙箱从 Chrome 应用程序发出 ajax 请求