gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 04:12:47 24 4
gpt4 key购买 nike

我已经对 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com