gpt4 book ai didi

javascript - onmousemove 事件不会从外部源中触发?

转载 作者:太空狗 更新时间:2023-10-29 14:17:12 25 4
gpt4 key购买 nike

我正在我网页上的一个 div 中加载一个外部网页(即本例中的 www.duckduckgo.com)。我想在 div 内部和外部获取鼠标的 X 和 Y 位置,但是当我在 div 内部时,网页似乎阻止了 onmousemove 事件的触发。但是,onmouseover 事件仅在进入 div 时触发一次。

这是说明我的问题的示例代码:

function mouseEvent(event) {
var x = event.clientX;
var y = event.clientY;

document.getElementById('label').innerHTML = 'X=' + x + ' Y=' + y;
}
html {
height: 100%;
width: 100%;
}
body {
height: 100%;
width: 100%;
overflow: hidden;
margin-left: 0px;
margin-top: 0px;
margin-bottom: 0px;
margin-right: 0px;
}
#form1 {
height: 100%;
width: 100%;
}
#pageDiv {
height: 100%;
width: 100%;
}
#page {
height: 100%;
width: 100%;
}
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div id="pageDiv">
<label id="label">hello</label>
<object id="page" type="text/html" data="https://duckduckgo.com/" onmousemove="mouseEvent(event)" onmouseover="mouseEvent(event)">
</object>
</div>
</form>
</body>
</html>

如何获得此网页上任意位置的鼠标 X 和 Y 位置(即不只是在包含外部源的 div 顶部)?我尝试将 event.preventDefault(); 添加到 mouseEvent 函数的开头,但这在帮助领域没有任何作用。

我猜是外部网页偷走了我的焦点。是这样吗?无论如何我可以实现恒定的 X 和 Y 坐标更新?

最佳答案

function mouseEvent(event) {
var x = event.clientX;
var y = event.clientY;

document.getElementById('label').innerHTML = 'X=' + x + ' Y=' + y;
}

function removeCheat() {
// remove cheat div or remove right/bottom position.
// Not sure what your ultimate goal is.
}
html {
height: 100%;
width: 100%;
}
body {
height: 100%;
width: 100%;
overflow: hidden;
margin-left: 0px;
margin-top: 0px;
margin-bottom: 0px;
margin-right: 0px;
}
#form1 {
height: 100%;
width: 100%;
}
#pageDiv {
height: 100%;
width: 100%;
}
#page {
height: 100%;
width: 100%;
}
#cheat {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<div id="cheat" onmousemove="mouseEvent(event)" onmouseover="mouseEvent(event)" onmousedown="removeCheat()"></div>
<form id="form1" runat="server">
<div id="pageDiv">
<label id="label">hello</label>
<object id="page" type="text/html" data="https://duckduckgo.com/">
</object>
</div>
</form>
</body>
</html>

关于javascript - onmousemove 事件不会从外部源中触发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45244920/

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