【发布时间】:2017-10-31 01:45:17
【问题描述】:
我对 javascript 中的事件进行了多项研究,但仍然无法弄清楚 onmousemove 中传递给事件的内容。
摘自:W3schools
onmousemove="show_coords(event)"
这个事件参数是什么?我真的需要吗?或者我可以在没有这样的事件参数的情况下以某种方式使其工作:
onmousemove="show_coords()"
我尽一切努力让它在没有事件参数的情况下工作,但我认为我在这里遗漏了一些东西。
编辑:
这就是我在玩的东西。
是的 - 它工作正常,但我只是不明白为什么我需要事件以及使用鼠标坐标时它是什么
这个 >>> onmousemove="show_coords(event)"
到这个>>> onmousemove="show_coords()" 让它工作
为什么 (.clientX/Y, .pageX/Y, .screenX/Y) 需要该事件?有没有办法在没有它的情况下访问它们。
我尝试chaging “事件”参数和每个事件词到“this”
就像这样>>> 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>
【问题讨论】:
-
你想触发什么?您需要鼠标坐标,还是只想知道鼠标移动了?
-
你想达到什么目的?你能发布你的完整代码吗?
-
上述函数实现与事件参数无关。该参数是可选的。请分享完整的代码。您要实现什么以及您正在使用哪个库?
-
"摘自:W3schools" — 避免使用它们。 They are better than they used to be 但仍然很糟糕。
标签: javascript